[fix] allow sandbox.start to start components without wrapper
adds app.sandbox.ready() -> Promise to allow extensions / components to be notified when all components have started
[change] stopSandbox returns promises and doesn't clean up the sandbox until stopping is done.
[fix] always have stopSandbox return a promise
invoke component.destroy on remove when stopping a sandbox
use forEach to invoke sandbox.stop to prevent _.invoke getting the length wrong
[add] ensure components won’t be started twice
Merge pull request #17 from Lulo/sandbox-start-filter

Various additions