Track funnel events with Segment.io

* Base approach on http://robots.thoughtbot.com/segment-io-and-ruby.
* Add `utm_` campaigns as properties on user creation so cohort analysis can be
  done on a per-campaign basis later on.
* Use special Segment.io `revenue` property and special `campaign` context.
  https://segment.io/docs/tracking-api/track/

https://trello.com/c/gwFd8KCN
I think I like the level of abstraction that we have now. The `track` private method abstracts the backend and the one required element (the `user`) and accepts the event hash. I fear that a method like `record_event_with_property` will make people think they have to use that every time, but there are some subtleties in Segment of the differences between `properties` and `context` that I think are clearer to keep at this level, right inside the `track_` public methods.