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
Also about the required: Should we have anything in required at all for a Config? Since we are allowing partial PATCH changes to a config.