Use the User::createFromData() factory method instead of composing it

- Refactored the factory method to reside in DefaultEntity class, so that
  all entities extend from DefaultEntity can benefit from it.
- Use the factory method everywhere instead of composing the user object
  ourselves with $user = new User(); $user->initialize($data);
Merge pull request #44 from sumocoders/user-factory-method

Use the User::createFromData() factory method instead of composing it