Propagate exact bounds errors back through the deferred

If getting exact bounds does return a zero bounds error, the throw in the .then() was leaving the resultDeferred dangling. Since we ```done``` is fun I added one here too. 
If you want to provide an error message, you could do `.fail(function () { resultDeferred.reject("message");})`