Implement Promise/then interface

The Promise spec only requires that promises support a .then() method. To make the Promise returned from .fetch() more consistent, Spine will not expose a jQuery Deferred object nor a jQuery "Promise" object. This implementation guarantees the most minimal implementation of a Promise and keeps options open in the future in case Spine selects a Promise library to adopt (or brew it's own).