Fixes Bug 789639: Socorro FS Refactor

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.