Added new Custom Entity classes for better plugin use.

* Moved all custom entity classes to our API.
* Custom Entity Types will now be added when each entity accesses
getBukkitEntity. This allows us to supply more classes to plugins as well
as add more custom methods to each type of class if needed in future.
* Fixed a few bugs from first custom entity commit.