1.0

this is an ongoing pull request. a complete rewrite, ready to match v2 of the spec as soon as it lands. notable changes:

- expose a constructor so each client is scope
- change to using callbacks from emitters
- remove `maxQueueSize` and `triggers` and `timerInterval` (functionally equivalent still)
- add `debug` calls
- change to use superagent
- simplify validation

@ivolo @calvinfo @juliangruber @yields whoever wants to take a look whenever