Change a lot of things

These changes are the culmination of many changes made while using
Stoplight internally at OrgSync. From a high level, here's what
changed:

- Data stores and notifiers can be configured on a per-stoplight
  basis. This allows stoplights to use stoplights internally.

- Stoplights use stoplights internally to wrap calls to data stores
  and notifiers. This means they gracefully handle either going down.

- Data stores only store failures and states. Also failures are
  stored in a ring buffer. This drastically reduces the amount of
  data stored.

- Stoplights will use the fallback (if it's given) when they fail
  while they're green. This means they won't re-raise exceptions if
  you provide a fallback.

- Stoplights pass the error to their notifiers when transitioning
  from green to red.
Update gemspec
Fix permissions
Update benchmarks
Convert MiniTest specs to RSpec
Restore Rakefile
Update license
Update changelog
Update readme
Don't use Ruby 2.0 keyword arguments
Don't install gems in parallel

travis-ci/travis-ci#2821
Reimplement data store #names

This is necessary for Stoplight Admin.
:vertical_traffic_light: v0.5.0