Merge pull request #8 from mspiegel/master

Adding next first key repair to the ExternalPagedStore. This functionali...
Add a map to JobAlertRunner which is the canonical place to store job alerts. Import alerts from their old location, one time only.
Refactor alerts to hold an array of job ids, to fetch jobs when checking alerts, and to important job ids correctly from legacy storage.
Add rudimentary API for viewing/changing alerts.
Work on integrating new alert structure into UI
Refactored alert check/fire methods to remove redundancy and support multi-job-id case
fix logger name
Import some changes from Ian's alert work
Change to JSONArray alert output/other modifications to alert API calls.
Preliminary alert list/detail view
Send alert map in setup call, fixing alert detail pages
Add special handling for if there is a change in the set of triggering jobs for a multi-job alert
Fix jobId UI handling, and add support for aliases
Add unit tests for basic alert functionality.
Add unit tests for basic alert functionality.
Ensure correct display of JobAlert type in all views
Add create alerts button. Add trigger status to table.
Fixed issue where clear emails were missing job ids
Show/hide alert form options based on alert type
Fetch alerts correctly when timeout is null or when the alert was recently created