Add gcm response handling for multiple device tokens

@bajtos This refers to #52
The code building the error result is duplicated in all tests and it is not immediately clear what is the important part and what is necessary boilerplate.

Please extract a test-data-builder function and use it in all tests.

```js
var result1 = aGcmResult([{'error': 'NotRegistered' }]);

var result2 = aGcmResult([
   { 'error': 'InvalidRegistration' },
   { 'message_id': '1234567890' },
   { 'error': 'MismatchSenderId' },
   { 'error': 'NotRegistered' },
   { 'error': 'MismatchSenderId' }]);
```