Fix schedule reset AKA refactor all the JavaScript!

So, I set out to fix a little bug that was annoying me: when making a new Agent, saving the form with errors would forget your schedule setting, putting it back to the default.

In fixing this, I decided to reorganize all the JavaScript, because it was getting unwieldy.

In this PR:

* JavaScript reorganization
  * `components/` contains global features and utilities, broken down by task.
  * `pages/` contains JavaScript for specific URLs, registered with `Utils.registerPage`.
  * `application.js` only contains requires.
* Fix for the schedule reset bug when creating an Agent with errors.
* Agent options are now reset to Agent default when changing the Agent in the dropdown.  *(Do you folks like this?)*
* application.js is no longer parsed with erb.
* The new Agent form makes you pick an Agent type:
![screen shot 2014-09-17 at 11 28 37 pm](https://cloud.githubusercontent.com/assets/83835/4315794/34f5e6ea-3efd-11e4-81eb-5b5e3dd02e5f.png)

I'd appreciate a few people testing this out, since I could have broken something.