Added a UserDeserializer to use with the Gson library. It supports custom inflation of User JSON strings with one or more of the User fields -- the password field is never inflated but set to null. I also changed the User.matchPassword() such that it returns false if User.password is null.
added unit tests for the parsePassword functions.
added unit tests for the User deserializer. Found a bug in the idNum parsing, fixed that.
refactored UserManager.makeEntity and UserManage.update to utilize the new deserializer. Also added User.role to the deserialization because I missed it before
added logic to exclude the password field from JSON serialization. Part of this included tagging all fields of User aside from password with a "@Expose" annotation. Also had to add this annotation to AbstractModel's permissions map. Fixed a bug in UserDeserializer.parsePassword() where it could not handle JSON strings with field names as strings.
adding missing manifest
merged dev-core-feature-customserialize into dev-core. This branch improves the serialization and deserialization systems by using GSON custom serializers and built-in serialization controls. Modified the Admin Console (index.jsp) to use the correct serialized field name for idNum when sending a user to the API (id => idNum).