Refactor User class to store data from list=users

This makes the class lazy and only fetches data
when we currently don't have it.

Also implemented the hasEmailEnabled function (fixes #115)
Fix PHP sillyness
Merge pull request #122 from addshore/emailable

Refactor User class to store data from list=users