Created BoundingBox class.

Not used by anything yet.
Added XOffset and Yoffset to entities

* Added default settings for Width, Height, and offsets to all concrete
Entity classes.
* Removed the setHeight and setWidth aspects of setParams -- didn't make
sense to have these defined for all new Entities, since we know all
Tanks will be the same size, etc.
Removed BoundingBox class

realized it won't work at all for rotated Entities. Going to try and
implement the existing one from our library instead!
Revert "Removed BoundingBox class"

This reverts commit 63d3a4715f0798c67ad5c7fa290a1a0cee25d576.
Added X/Y offsets to Entities, set default sizes

Removed size setting from SetParams, since it shouldn't be done often.
Fixed merge conflicts
Merge branch 'brandon' into Aaron
Merge branch 'Aaron' into Brandon
Adaptive Tiling added

* AdaptiveTileChecker added.
* Tiling state variable names changed to be more intuitive
* Added update overrides to adaptively-tiled Entities -- interface is
starting to seem useless!
* Adaptive tiling (the original way) works for Walls, Roads, and
Craters.
* Extra-special tiling (the fancier, harder way) works for Water and
DeepWater. Will extend this functionality to the other types soon
enough.
* Changed DeepWater and Water textures to support fancier tiling and
proper corners.

No unit tests or much documentation yet.
Changed formatting in DeepWaterSprite

This is apparently better, somehow? According to the autoformatter?
Removed setWidth/Height from SetParams

* Manual height/width changes should be done rarely, re-wrote unit tests
to accomodate change.
* Added null-tile checking to updating tiling states, so non-tiled
integration tests don't crash
Removed randomUUID constructor from Entity

* Forces correct constructor-chaining behavior in concrete entities.
* Added Polygon (bounds) to Entities in preparation for collision
support
* Added default height/width parameters to all concrete entities.
Resolved merge conflicts
Ugly first pass at collision

* Tank properly collides with walls, with some rotational and positional
offsets applied to reduce collision intensity.
* "Slippery" wall technique used, based on Tank orientation, and two
'bumper' bounding boxes on the left and right sides of the front of the
Tank.
Tweaked collision constants for Tank

* Slightly different behavior when colliding with walls, still not
perfect!
More collision constant tweaking
Modified tank bumper definitions
fixed merge conflict
Collisions, Tiling, Slippery Walls

* Added Polygon-based bounding/collisions to Entities
* Added 'solid' parameter to Entities, for determining whether mobile
objects should stop movement on collision
* Modified Tank movement to respond appropriately to frontal collisions
(sliding)
* Unsure how to unit test the getOverlappingEntities and
getLookaheadEntities methods! They're both Protected/Private, so they
won't break any other systems, but this could be improved.
* Added CollisionTestApplication. Drive around and try not to run into
Pillboxes!
Implemented Review Feedback on #274

* Commented out getOverlappingEntities, for now, since it isn't used,
but the basic idea is there.
* Added a self-check to Tank.getLookaheadEntities and set Tank's to be
solid in their constructor.
* Effect.update should have a unit test already -- it's in the
EffectTest class, in test.bubolo.world.entity.
* AdaptiveTileUtil now has a description.
* adaptiveSplit_9 removed from TextureUtil, since it was used for
DeepWater only and that has been replaced with a better, prettier
method.
* Entity.setSolid visibility changed to protected.
* Changed ColorSets ints to finals. I'm not super familiar with how
enums work, so if someone wants to switch this over to enums in the
future (or tell me how), that'd be great!