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 are:

* 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
* Removed `.searched` attribute, `files()` and `directories()` can now be used instead
* Minor documentation fixes
Ah yes, good point.  This should be renamed to `unversioned_only` both for clarity and to better describe what it actually does.  

I could see how having both keywords might be useful but since it's not something we'd be using right now I'd hesitate to add it.  Since `pyfarm.core` was slimmed down I'm trying to be a little more conservative with adding things we're not going to be using ourselves.  The `Configuration` class provides enough of an API here that someone can perform this additional filtering if they need it I think but I'm open to including it if you think it's going to be a common use case.