Work in progress.
Moved validation to validator.

Significant refactoring. Added validation module. Moved validation
from parser to validator. F# clients will want to call the validator
manually; C# clients will not be affected, except that exceptions
formerly thrown by the parser will now be thrown by the constructor
of the state machine.