jQuery Plugin: Wrap jqXHR promise callbacks

Since jQuery 1.5, jQuery.ajax implements the Promise interface and that's why the jqXHR.done(), jqXHR.fail(), jqXHR.always(), jqXHR.then() callbacks need to be wrapped too.
Note that the jqXHR.success(), jqXHR.error(), and jqXHR.complete() callbacks are deprecated as of jQuery 1.8 but are still exposed.
Can we move this part to outside the try...catch ?

I don't want to swallow an exception caused by `wrapObjectKeys` or something. Just bad practice since we only want to capture the exception from `_oldAjax.call`