Upgrade to specification (1.0.0)

Upgrading the interface to the latest spec (1.0.0, documented in the wiki).

Status: **Ready to merge**

Reviewers: @scalvert 

## Changes
* Most functions are now methods of a container (Hora.searchToggle -> Hora.search.toggle) (noun.verb).
* Event titles are now title case, not dashed (first-swipe -> First Swipe).
* Added action/value to some events.
* Add unit tests for all events.
* Bump to v1.0.0

## How to test-drive this PR
- checkout this branch
- `npm install`
- `grunt build`
- ensure file is built correctly
- `grunt test`
- ensure all unit tests pass correctly

I was thinking about that, but I'm not sure what to do. I could have an associative array and replace them in the 'send' call.

var metrics = {
    'First Item': 'metric15',
    'View All Carousel Slides': 'metric15'
};

But, it depends on which event you're sending. So, metric15 for one event may not mean the same as the other. There may be cases where we used metric15 for some other key, then need to use a key that is for a different metric already used (like metric15). 

So, it seems commenting and referencing the docs is best.