Spike/api hyperagent

https://www.openproject.org/work_packages/8319
https://www.openproject.org/work_packages/11927
@manwithtwowatches @tilt a global is ok, for the short-term. medium-term though, I'd like to move to either AMD (requirejs) or CommonJS modules (Browserify)