Add initial admin interface using Devise.

So far, this sets up the Admin model and allows admins to perform all the same session management functions as in the standalone admin interface. It does not include any interaction with the data in the DB yet.
Speed up the tests.

Populate the DB once before a set of examples instead of every time for each example.
Add locations index view & logic for super admin vs. regular admin.

- Redirect admins to locations index view after signing in
- Admin must be signed in to access locations index view
- Add 'Your locations' link to nav bar
- Add super_admin boolean column to Admins table and set to false by default
- Update INSTALL.md with instructions for setting an admin as a super admin
- Create admins to test with in db/seeds.rb
Allow admins to update locations

This commit includes the following features from the standalone interface:

- ability to delete a location, with modal window warning
- ability to dynamically add fields via JS for contacts, faxes, phones, address, mail address, websites, emails, and admin emails
- CSS styling for edit location form
- admin and super admin authorization to control who gets to see which locations

Other changes:

- move custom JSON errors when rescuing from Rails errors to a controller concern within the API namespace so that they don't get triggered within the admin namespace.
Update Rubocop to version 0.24.1
Update bullet to version 4.11.3
Update Rails to version 4.1.4
Update Spring to version 1.1.3
Update spring-commands-rspec to version 1.0.2
Update Capybara to version 2.4.1
Refactor code to improve Code Climate grade.
Add more specs for location attributes

- Fix HTML and JS issues with form elements: wrap each array field or set of association fields in a fieldset, add a unique ID to each new array field, add CSS styles for buttons that add fields

- Reject all_blank attributes for faxes

- Add specs for faxes and admin_emails

- Update specs for contacts
Add remaining specs for updating a location
Add CRUD functionality for Organizations.

Other features:

- Allow super admins to create locations and organizations
- Allow regular admins to view and update locations and organizations separately
- Optimize authorization code
- Optimize loading of organization and locations
- In the admin interface, admins can send an email to someone to get help. That email was hardcoded. Now it is customizable in settings.yml
Add CRUD functionality for Services. Closes #170.
Increase Capybara wait time for Travis.
Update documentation for admin_support_email setting.
Merge pull request #181 from codeforamerica/admin-interface

Add Admin interface to API app