added InvalidSpecError to serve as a base class for errors that occur when a specification is being created.
added first cut of date and datetime specification types