Convert debounce.js to jQuery Deferred version
Add jasmine specs
Fix immediate invocation

Return the correct promise when immediately invoking the function.