specify multiple "sources" of source files

## Goal

Provide a config API for specifying where to look for source files.  This includes an absolute path to a directory containing source files (id `/path/to/app/assets`) and an optional filter block for filtering out files that should not be considered source.

Ideally, zero to many sources can be specified.  If zero are configured, Dassets will not digest or serve anything.  If many, Dassets will serve files out of all of the source locations.  If two locations have identical relative source paths (ie `css/app.css`), then the last source added will take precedence.

The overall goal here is to provide a way for 3rd-party tools to add their own sources to Dassets for digesting and serving.

## Implementation

I added the API to register sources (abs path + filter).  Each source knows its (glob) list of files.  `Dassets.source_list` is the combination of all the sources files.  Sources are looked up by digest path (for middleware hosting, etc) by scanning the source files for ones matching the digest path.  If multiple match, the last one (from the last configured source) is chosen.

This allows 3rd-party tools to add their own sources to Dassets for serving and digesting.