Fixes bug 789639: Implement new Socorro filesystem classes.

This implements four classes compatible with the Socorro crash storage
API.

 * `FSRadixTreeStorage`
    This stores crashes under `YYYYMMDD/"name"/radix.../crash_id`. It
provides processed crash storage but does not support finding new
crashes.

 * `FSDatedRadixTreeStorage`
    This composes `FSRadixTreeStorage` to support additional referencing
to crashes via `YYYYMMDD/"date"/HH/MM_SS/crash_id` that link to the
actual directory stored in the `FSRadixTreeStorage`. It also provides a
reverse symlink inside the `FSRadixTreeStorage` called `date_root` to
link back to the `MM_SS` folder. This does not provide processed crash
storage but supports finding new crashes.

 * `PrimaryDeferredStorage`
   This composes two storages that support the crash storage API and
designates incoming crashes based on a `deferral_criteria` parameter to
be stored in one of the two storages. This provides processed crash
storage and finding new crashes.

 * `PrimaryDeferredProcessedStorage`
   This composes three storages, doing the same as above but all
processed crashes are stored in the same crash storage.
Merge branch 'socorro_fs_refactor'