Changed the return of oajax to always return a Deferred

performAjax always returns $.ajax() which is a Deferred, oajax was only returning one of the calls to performAjax. I returned a single Deferred and handled the states returned from performAjax to always resolve to the call of oajax. This still supports the ability to pass callbacks in for success and error as well. Also made code changes based off of JSLint suggestions (this is why the diff is so large). This issue may be resolved in your v2 code but I cannot use that yet.