sources: remove the legacy `root_path` config setting

Move instead to specifying the source path using absolute paths.  The
root path was really only used to build the source path anyway.  The
only other place affected is the `file_store` this must also be passed
in as an abs path.
sources: `Source` handler class for modeling a set of filtered source files

This is used to model a source root path and filter proc.  This will
be used to configure sources and access their files.
sources: register sources at config-time

This provides an api for registering sources.  It uses the `Source`
class for handling and the master source list is the combination
of all the source's files.

This list is used when looking up sources by digest path.  The _last_
source file with a matching digest path is selected (in the case of
multiple source files having the same digest path).

This API allows 3rd-party tools to register their own sources for
digesting and serving with Dassets.
sources: a cleanup to properly test the file store

The file store config is not longer a root-relative path (b/c there
is no longer any root_path).  This updates the tests to set an
absolute path.

This also uncommits the errant files produced by the tests.
Merge pull request #51 from redding/kr-sources

specify multiple "sources" of source files