THINK-217-TRN

Added in a new frontend API. The implementation I think is a bit hacky. But its the only way to get reliable cross-domain support. So basically the campaign root includes a script on the API domain which sets a `token` variable that Adam can use to authenticate to the API. This allows us to track reliably our visitors across domains.
https://github.com/bbatsov/rubocop/blob/master/config/default.yml#L509
Default line length 80. I did that to keep it consistent with L17.