Made FireballControl abstract

Made FireballControl abstract to allow for more than one type of
fireball wth different movement patterns. Added HoveringFireballControl
which simply hovers still in the air.
LinearFireballControl

Added a class for fireballs moving with a linear velocity
PushBack feature

PlayerControl now has a pushBack() method that pushes the player
backwards on a fireball hit.
Added SpinningFireballControl and make new Fireballs of spinning type.
LinearFireballControl improvement

Made LinearFireballControl take its velocity as a constructor argument.
Replaced createHazard with createHoveringFireball and
createLinearFireball in ChunkFactory.
Moved all non-abstract fireballControls into control.fireball package
Built a Hazard framework

Made class Hazard abstract, and created specific subclasses for the
different types of fireballs. A specific fireball, like
HoveringFireballHazard, is now completely self-contained and the
ChunkFactory only needs to set any constructor-taken parameters and add
it to the chunk, just like platforms. (Previously it needed to also
create a FireballControl and connect them to each other.)
Player model height and collisionShape height agree

The model height is somewhere between 3.6 and 4; now the CollisionShape
used in PlayerControl has height 4 instead of 7.