Adds checker and tests.

First stab at programatically verifying that a dictionary conforms to
the protocol.  Checks everything that can be verified on a local
process.
Remove breakpoint comment.
Major refactoring and fixes some small bugs.
Merge pull request #41 from enthought/feature/validator

Adds validator to the protocol