Whitespace fixes
Replace jasmine-as-promised with the Q version

Q uses it's own custom version of jasmine-as-promised which is much
simpler and we know it works 'cause it's from the Q repository!
Fix a bad bug in safari

Seems safari would cause a throw in a callback as some kind of unhandled
exception and would not "reject" the promise like in other browsers.
Using a defer() fixed this problem. Yeah for specs! :tada: