Configuration Object Enhancements and Bugfixes

This change fixes a few bugs in the configuration object and also updates the load order so overrides work a little better.  The full list of changes is

* Addition of the `validate` keyword to `files()` and `directories`.  This addition will allow the agent to easily query locations where configuration files should exist so it can cache the UUID.
* Default pyfarm directory in user home has been renamed from `pyfarm` to `.pyfarm` to more closely match existing conventions present on most platforms.
* Relative load paths are now resolved using a new `cwd` argument on the configuration object
* Minor documentation fixes