Fix according to Kenton's code review

* All references of `location` changed to `path`
* Path is now part of the URL, instead of a query parameter
* Fix up origin checking in message handler
* Change message handler to run on Meteor.startup
* Use replaceState instead of pushState for path changes