Add push

This Pull Request adds push messaging to the javascript SDK
Should we throw an error if they didn't supply a valid key?