Provide a mechanism to wrap non-standard thenables/promises.

This makes it simpler to wrap known non-standard promise implementations.

An example is jQuery's promise implementation. Over time it has become better, but even now there are some short comings. (I can go into detail if someone wants, but I am sleepy).

So ``` RSVP.wrap($.ajax)``` with this will smooth most of the edges cases, and prevent early hair loss.

Feedback/Concerns/Suggestions on this PR would be appreciated.