How do I get the fields of a user object
The full answer is: There's no single piece of code which can answer your question. Since PHP has weak and dynamic typing, any piece of code can access the global $user object and can remove/add something to the the object (whether this is always a good idea is an other question).

As a Java (which statically and strong typed) veteran this was the biggest difference to cope with.

BTW: Use dpm which comes with krumo support instead of var_dump this makes the output much more readable. An other aproach is to get familiar with a debugger (Xdebug or Zend).