fixed pre save validations to return error objects as angular expects them. fixes also validation error for 'username already taken' which was not showing up to the user previously
adding support to validate user email address, otherwise multiple users can register with the same email address
due to the asynchornoous nature of mongoose validation we need to wrap the save() methods with a callback function so that the database connection isn't closed before validations are ran
Merge pull request #648 from lirantal/enhancement-user-model-validation-fixes

Enhancement user model validation fixes