[WIP] I changed the EntityTypes to point to (Non)LivingEntityTypes.

I also moved a few classes into a more strict package organization. I'm
trying to maintain a package organizational system where there is a
separate package for each type class that is a parent of another type
class.

I've also written out a kind of test plan in a static block in the Entity
class that I think will help us debug these type hierarchies. There are a
number of things to check for that will not cause compilation errors that
our organizational scheme relies on, e.g. that each EntityType subclass
and individual type must implement its own `create()` method, each type
subclass should have a corresponding type in its parent class that refers
to it by the same name, etc. I also noticed that since our type subclasses
extend other type classes, trying to refer to a type in a subclass that
doesn't exist will not throw compilation errors if the type reference and
the type it's supposed to be referring to have the same name (which should
be true in our system). For example, I noticed that the declaration for
the `EntityType MINECART = NonLivingEntityType.MINECART;` works even if
the `NonLivingEntityType.MINECART` is not declared in the
`NonLivingEntityType` class since `NonLivingEntityType` inherits all those
type variables from `EntityType`. That's something to watch out for. The
best way I have found to locate these occurrences is to go to the subclass
(e.g. `NonLivingEntityType`) and comment out the `extends EntityType`
part temporarily. Then, there will be two different compilation errors that
appear: one complaining that `NonLivingEntityType` is not a type of
`EntityType`, which is fine (shown in Eclipse by underlining the whole
`NonLivingEntityType.MINECART` part), and the other complaining that that
type was not declared (shown in Eclipse by underlining and not coloring
the `MINECART` part of `NonLivingEntityType.MINECART`. The latter is the
one to watch out for. If we miss those, it would mean that the type
declaration is just referring to itself, which I'm sure will cause many
problems for obvious reasons.

Signed-off-by: REALDrummer <conman.davey@gmail.com>