Improved VillagerAPI

Changed VillagerAPI to match the LivingEntityAPI.

**PR Breakdown:**
* Added some javadocs 
* ````getName()```` methods
* Changed API design to match LivingEntityAPI
Again, with the possible nulls.