Various additions

Required by: https://github.com/Lulo/leaf-client/pull/415#issuecomment-41548534

- New `app.sandbox.ready()` which returns a Promise to allow extensions, or components to be notified when all components are started.

It can be used by a parent component to ensure its children components have been started, and then the parent emits component events to its children.

- Allow `app.sandbox.start` to start the top level component.

Before, it uses `$.find` to search for components to start up. So if the top-level element is an aura component, that component will not be started. Now it will use the result of `$.find` and `$.filter`.

- Ensures component won't be started twice by checking if __sandbox__ref already exists