Migrate to pulse guardian (bug 1016117)

For bug 1016117.

This PR include a commit that moves from using the public/public user on Pulse which mcote is trying to migrate everybody away from... Instead someone must create `treeherder-staging` and `treeherder` users using pulse guardian `pulse.mozilla.org`, see bug 1082801.
`PulsePublisher.reference` generates a reference format for generating documentation and client libraries from the declared exchanges. The version is the version number for the reference format. At least the way it looks now, we might break it later... Hence, the version number has nothing to do with the exchange version.

The format follows the reference format we're using in taskcluster documented here:
http://docs.taskcluster.net/tools/references/

Ideally, this reference and JSON schemas we validate with should be offered somewhere... then it would near trivial to write well-defined documentation for the exchanges, and utilities for generating bindings and routing keys.

I didn't want to mess with figuring out how to do anything more than I absolutely needed in with treeherder, django scares me :)
But the functionality is there, so it should be trivial expose it. Assuming one knows what is up and down in django.