Splitting modules into smaller modules.

Factories are responsible for building an expectation with the correct matcher, exception to raise, and subject.
Routes are responsible for routing readable methods (beEqualTo:, beIdenticalTo:) to other objects (factories). Routes are handled by a router.
A verifier verifies an expectation returned when a router handles a method.
Added verifier spec.
Improved documentation comments for expectation classes, and renamed disposition to disposition definer, to clarify its purpose.
Routing -> Adapting, and additional specs.