Rewrite object hierarchy for event processing.

* Refactor object associations.
* Simplify method interfaces.
* Simplify card definitions.
Add a ClearClient which tries to clear minions first.