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. 
I concur. I don't think the onResolved handler of the `done` call will ever execute the code inside the `if` block. -- there'd be no way for the above promise to succeed and not set your `resolved` flag.