Allow longer names for schema fields.

The current names are hard to remember.  Allow using longer names for
most fields.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Allow loading schema data from an arbitrary file.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Make Schema.load_file a regular method.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Use a more specific class for schema errors.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Make Schema.load a regular method.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Add support for loading configuration files.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Add support for per-user configuration.

By default, the file in $XDG_CONFIG_HOME/newfol/defaults will be read
and parsed almost exactly as if it were a schema file.  If it is
missing, nothing happens.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Convert some NewfolErrors to DataErrors.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>