Removes unused rule files.
Adds TODOs for actor collision.
Adds rule descriptions for AddValue and UpdateHealth.
Adds implementations for Rules::AddValue and Rules::UpdateHealth.
Rehauls collision detection.

Adds redirection vector to Collision Object. This will allow collisions
to suggest new paths for the object to move within the frame. The
simulation can then move along that new path. Good for sliding objects
around, gliding, bouncing, etc.

Adds CollisionType to collision object to denote whether or not the
collision is a Pass, Impede or Redirect action. A pass denotes that the
actor passed through the object, impede means the actor cannot move
through, and Redirect suggests that the actor's movement is changed as a
result of the collision.

Objects now contain a list of collisions. These can be iterated by
order of their t value (percentage moved). When one sees an Impede or
Redirect object, the list is thrown out and redone.

CollisionObject now contains the point of reposition for the moving
actor. That is, it holds the new position of the actor if the actor were
to rest against the collided object. This is computed by the collision
function since it knows best about how to avoid floating point error.

CollisionFunction now mutates Object so that it can add CollisionObjects
to the pending vector.

TODO: Going to remove collision point from collide functions since it is
now part of CollisionObject.
Removes collide from CollideFunction.

It is within CollisionObject now since it is too hard to determine the
affective collision object and the resulting point when you can pass
through things or redirect.