app.sandbox.stop to return promise

- in `stopSandbox`, return the promise from `invokeWithCallbacks` instead of the sandbox. This allows `app.sandbox.stop` to return a promise that will be fulfilled when all of the remove callbacks are called.

This PR is to allow view-manager to destroy the loader only after all of the components' `destroy` functions are called.

This might conflict with https://github.com/Lulo/aura/pull/13 so please merge the other one first, and I will rebase and clean up after that merge.