Initial layout of the specification pattern.

ISpecification interface defined.
AND, OR, and NOT operations added.
PredicatedSpecification added.
~50% code coverage with unit tests.