Promise error handling

#### What's this PR do?
This PR adds error handling to the Mongoose promises created in the `SGCompetitiveStoryController.js` file. 

I've attached a relevant excerpt of [the MPromise documentation](https://github.com/aheckmann/mpromise) below, which is the promise library used natively in Mongoose. 

**then**
Creates a new promise and returns it. If onFulfill or onReject are passed, they are added as SUCCESS/ERROR callbacks to this promise after the nextTick.

Conforms to promises/A+ specification and passes its tests.

```javascript
// promise.then(onFulfill, onReject);

var p = new Promise;

p.then(function (arg) {
  return arg + 1;
}).then(function (arg) {
  throw new Error(arg + ' is an error!');
}).then(null, function (err) {
  assert.ok(err instanceof Error);
  assert.equal('2 is an error', err.message);
});
p.fullfill(1);

```

#### How should this be manually tested?
Postman! Create a new SMS game, invite someone out of it, and run through the gameplay. 

#### What are the relevant tickets?
JIRA SMS-82