Bower: fetch transitive dependencies v.2.0

@gaurave, @devoncarew

Download transitive Bower dependencies in 2 stages:
1) Using XHR, recursively read hyperlinked bower.json's starting with the project's top bower.json. Accumulate uniquified global dependencies of the project.
2) Downloads the resulting set of dependencies in parallel.

This CL largely addresses #1429 by implementing `bower install`. It doesn't implement `bower upgrade`, although that is very close. I'll file a separate issue to track that.

I'm going to add code comments tomorrow and tests immediately after 0.10.