Better error handling and begin to use i18n for text display.

- Begin to use ember-validations for client-side error validations.
  These are unfortunately duplicative of the server-side validations we
  must implement, but provide a much better mechanism for dealing with
  errors in modal sub-forms when the form is being filled out (rather
  than trying to explain where the deeply nested errors have occurred
  when dealing with the server side error response).
- DRY up how records get saved when hitting submit on a form.
- When client-side or server-side validation errors occur when saving
  the form, display the error messages at the top of the page, rather
  than a modal, so the errors can still be viewed while adjusting the
  form (since otherwise they disappear as soon as you close the modal).
- A very initial start to using i18n for text and error display. Lots
  more still needs to happen, and we need to figure out how exactly we
  want to structure the translations data, but it's a start using the
  simple polyglot.js library (I ran into issues with the more tightly
  integrated ember-i18n and i18n-js).
Show the API key in the initial user creation success message.

If you're creating a user via the admin, you likely want to know its api
key, so this prevents you from having to immediately edit the user
account to view its key on initial creation.
Fix rubocop and jshint style warnings.
Fix failing tests since we made url_matches required.
Use the Fuubar rspec formatter for progress and immediate errors.
Fix host format regex warning. DRY up common validation regexes.
Remove a debugging line.