Fix getting packages message  minimal

@dinhviethoa

Fixes #2293 in a minimal way. See the cause of the problem over there. 

The gist of this change:

1. Plumb the `ProgressMonitor` created in spark.dart down to `BowerFetcher` (that required trivial, mostly no-op changes in the API signatures of several package management-related classes as well). That's 90% of the changes.
2. After each Bower dependency gets downloaded, refresh the `ProgressMonitor` with the work just done. That redisplays the progress indicator with the updated value, so it stays or returns to the screen regardless of other jobs that may run in parallel and hijack the indicator.
3. Also fix `jobManager.onChange.listen` in spark_polymer.dart so that it displays intermediate progress messages from jobs, not just "started" and "finished" messages.