Organized unit tests
The start method runs the start component, and a factory can return a value without calling the return callback if component is not fully asynchronous
Reorganiezd error handling
If a dependency reach a timeout, it doesn't continue to load and an error is emitted
Changed version number to 0.1.0
Merge branch 'release/0.1.0' into develop