Improved Entity interface.

This PR is my first pass at improving the Entity interface. The following has been done -

* Removed getPosition, getX, getY, getZ in favor of getLocation
* Removed getVectorRotation in favor of getRotation
* Removed EulerDirection in favor of Vector3f
* Removed interact methods as they are meant for Players
* Removed eject, dismount in favor of setVehicle
* Renamed getRiding, getRidden in favor of getVehicle
* Renamed teleport to setLocation
* Renamed isDead to isRemoved
* Updated javadocs
Here is my suggestion.
Never teleport the vehicle with the entity and only have a flag for teleport passengers. Because the entity may be the topmost passengers of a really long queue, will you recursivly teleport them all?
This is the same with java. If you pass a List to a method all elements will remain in there whereas the holder is lost.
if you clear the list, the passengers (in this case) aren't available in the method as well.
`setLocation(Location, boolean teleportPassengers, Cause)`
If you still want to teleport them all loop while getVehicle()!=null and then teleport the first vehcile that does not have any vehicles itself. 

But if i rethink this all i would not add the flag for bringPassengers but teleport them always. If the user/plugin author don't want them teleported, he should eject/unmount them acordingly. Like above vehicles will not be teleported.