Validate all settings up front

Summary:
- don't need MATCH_PATTERN, it's always *
- add check to make sure all backends that streams should be written to are
  configured in the `storage` parameter
- add checks to make sure all storage configuration parameters are reasonable
  values
- validate all settings before doing anything else
- TODO(meelap): add a `reload(settings)` function

Reviewers: usmanm, marcua

Reviewed By: usmanm

Differential Revision: http://phabricator.locu.com/D2730