Adds schema methods to options and Config files.

Adds a schema() method to Config and Options classes that returns their json-schemas. Also adds unit tests to test_config.py to test schema methods for Config and for StringOptions and BooleanOptions.

Related to: #632
Actually while looking into 'required' properties I realize I need to nest all of the option schemas inside a 'properties' attribute, like in the comment on 'required' above. I will change this later today.