API refactoring for bulk reports

Now uses exception handling instead of callbacks; changed error
code to 403 (the Sinatra not_found error handler was overwriting
responses when returning 404, and it's probably a better fit anyway.)
Consistency changes and test fixes for bulk API queries
Merge branch 'master' of github.com:flpjck/flapjack into 123_bulk_api_reports
Merge branch 'master' of github.com:flpjck/flapjack into 123_bulk_api_reports
keep bulk API branch up to date with #197
update submodule pointer
Merge branch 'master' of github.com:flpjck/flapjack into 123_bulk_api_reports
Merge branch 'master' of github.com:flpjck/flapjack into 123_bulk_api_reports
support the old non-bulk routes for report data
change bulk query param format, so flapjack-diner's tests will work OK with it
API deletion of maintenance periods, more bulkifying
add missing require
Merge branch 'master' of github.com:flpjck/flapjack into 123_bulk_api_reports
fix failing test
Merge pull request #168 from ali-graham/123_bulk_api_reports

Bulk data API functions