User::get__ methods should behave like DefaultEntity::createFromData

- They will all throw InvalidArgumentExceptions on invalid arguments
- They will all return a new User
Make the Authentication class work with our new User methods and exceptions
Make classes that use the authentication work with our new exceptions
Make actions from the users module work with the new User exceptions
Add correct phpdoc blocks
fix indentation in try/catch blocks
Cast data to array so we can remove an if statement
Fix merge conflicts
Merge pull request #47 from sumocoders/throw-exception-from-entity-createfromdata

Throw exception from entity createfromdata