Refactored ajax to use promises

I refactored the `ajax` call to use promises instead of callbacks. Why bother? Using promises make another pull request I'm working on very simple. It also removes the callbacks from the options, which prevents a developer from breaking them in the `pjax:beforeSend` event. In my opinion, the syntax is also a little cleaner.