Change implementation of default JQueryPromise

I felt like defining the factory as a class was confusing, especially because it required the constructor to explicitly return the factory-built Promise. Without the `new` keyword, the factory would return an instance of itself. That just felt too fragile.

The general guideline for implementing a Spine.Promise factory now looks something like this:

MyPromiseFactory = (fn) -> # return a new Promise
MyPromiseFactory.resolve = (result) -> # return a Promise resolved with `result`
MyPromiseFactory.reject = (error) -> # return a Promise rejected with `error`

Spine.Promise = MyPromiseFactory