result.canonical is a dict not a callable.
Abstracted out the patching of the Device model to be DRY.
Added a basic test for the GCM code using mocks.
Merge pull request #10 from roverdotcom/issue-10

Greatly improve test coverage of the GCM sending code.