Bugfix:  Do not loop forever in the case of overkill

Dealing more damage than required to box a model will now terminate
correctly rather than looping forever.
Move changes into model_instances

Migrate new code for inspecting ModelInstances into the appropriate
file. ModelInstances may now have damage done to them, can determine the
number of dice with any weapon, and can be "killed" by dint of an alive?
predicate.
Throw out core.typed annotations on bits.weapons
Remove unused requires
Add a CES implementation
Add a seperate UUID toolbox
Pull out the UUID code
Rework the CES around storing :self in object metadata
Delete poorly structured components
Remove test data from the CES
Extend the CES to deal with sequences of objects correctly

 - Implement support for decomposing and resolving objects in
   sequences. This change allows structures like
   `{:foo [{:bar 1} {:bar 2} {:bar 3}]}`
   to be stored as four components rather than as a single monolithic
   component. This is, for now, considered a feature.

 - Test support for integers. It is now possible (abet ill-adviced) to
   forcably install an integer or other non-IObj value in the CES.

 - Major refactor of both resolve and decompose to remove nested
   inline fns.
Start toying with ideas for how to structure events

 - Prototype of a weapon with on hit effects

 - Prototype of what effects will look like, which includes support
   for some concept of time ala before, during and after an event.

 - Prototype for a 'Jack representation which is getting pretty solid.

 - Good big brain dump type description hunks...

 - Unfinished sketch of do-ability
Make core.match a dependency