Add git http fetcher (smart protocol)

This adds a class to fetch / push git objects through
smart git transfer protocol.
Cherry-pick "Refactor ctor into small parts to allow fine-tuning in SparkPolymer"
Reconcile with main UI: start with overriding all ctor parts
Merge branch 'master'
Finished reconciling with main UI
Add objectStore test.
Fix git object bugs.
Add more checks and cleanup.
appName = "SparkPolymer"
Use spark-buttons for + and - in the theme selector in the menu
Plumb Bootjack styles down to spark-button
Allow author (Bootjack) styles for spark-select and spark-splitter.
Hide .git folders
Merge pull request #281 from dinhviethoa/278-hide-git

Hide .git folders (Fixed #278).
comments.
Merge pull request #275 from dart-lang/test-objectstore

Test objectstore
Remove 'git prefix from files in git folder.
Fix comments and re-org code.
Merge pull request #284 from dart-lang/reorg-git-files

Remove 'git prefix from files in git folder.
Merge branch 'master' into old_http_fetcher