Refactor of sdv.py.
* Added ValidationOptions class for holding validation options.
* Added ValidationResults class for holding validation result
  dictionaries.
* Added ArgumentError to be raised when command line arguments
  are invalid or incompatible.
* Added SchemaInvalidError to be raised when schema validation
  fails.
* Made almost all methods non-public.
* Broke out main() function into several smaller, more focused
  functions.
* Removed --input-file and --input-dir command line arguments. Now users
  pass in a whitespace separated list of filenames and directories to
  validate as the last argument.