bazel: bower support

* npm_binary (download tarball packaged npm apps)

* bower_archive (download a zip file, to be put in WORKSPACE)

* bower_component (defining a bower library, with dependency )

* bower_component_bundle (zipping up libraries together)

* js_component (insert plain js file into bower component bundle)

* bower2bazel.py: run bower to find dependencies, generate a .bzl to
  define archives and define components

Tested:

 python tools/js/bower2bazel.py -w lib/js/bower_archives.bzl -b \
    lib/js/bower_components.bzl

 bazel build polygerrit-ui:components
 unzip -v bazel-bin/polygerrit-ui/components.zip > /tmp/baz

 buck build polygerrit-ui:polygerrit_components
 unzip -v buck-out/gen/polygerrit-ui/polygerrit_components/polygerrit_components.bower_components.zip > /tmp/buck

 diff /tmp/buck /tmp/baz

The diff corresponds to newer file versions pinned through bower2bazel.

Change-Id: I4f33914d4853bcf8afe78b4719d0e0e83b139031
diff --git a/lib/js/bower_archives.bzl b/lib/js/bower_archives.bzl
new file mode 100644
index 0000000..d90a7cc
--- /dev/null
+++ b/lib/js/bower_archives.bzl
@@ -0,0 +1,68 @@
+# DO NOT EDIT
+# generated with the following command:
+#
+#   tools/js/bower2bazel.py -w lib/js/bower_archives.bzl -b lib/js/bower_components.bzl
+#
+
+load("//tools/bzl:js.bzl", "bower_archive")
+def load_bower_archives():
+  bower_archive(
+    name = "iron-a11y-announcer",
+    package = "iron-a11y-announcer",
+    version = "1.0.5",
+    sha1 = "007902c041dd8863a1fe893f62450852f4d8c69b")
+  bower_archive(
+    name = "iron-a11y-keys-behavior",
+    package = "iron-a11y-keys-behavior",
+    version = "1.1.9",
+    sha1 = "f58358ee652c67e6e721364ba50fb77a2ece1465")
+  bower_archive(
+    name = "iron-behaviors",
+    package = "iron-behaviors",
+    version = "1.0.17",
+    sha1 = "47df7e1c2b97978dcafa13edb50fbdb702570acd")
+  bower_archive(
+    name = "iron-fit-behavior",
+    package = "iron-fit-behavior",
+    version = "1.2.5",
+    sha1 = "5938815cd227843fc77ebeac480b999600a76157")
+  bower_archive(
+    name = "iron-flex-layout",
+    package = "iron-flex-layout",
+    version = "1.3.1",
+    sha1 = "ba696394abff5e799fc06eb11bff4720129a1b52")
+  bower_archive(
+    name = "iron-form-element-behavior",
+    package = "iron-form-element-behavior",
+    version = "1.0.6",
+    sha1 = "8d9e6530edc1b99bec1a5c34853911fba3701220")
+  bower_archive(
+    name = "iron-meta",
+    package = "iron-meta",
+    version = "1.1.2",
+    sha1 = "dc22fe05e1cb5f94f30a7193d3433ca1808773b8")
+  bower_archive(
+    name = "iron-resizable-behavior",
+    package = "iron-resizable-behavior",
+    version = "1.0.5",
+    sha1 = "2ebe983377dceb3794dd335131050656e23e2beb")
+  bower_archive(
+    name = "iron-validatable-behavior",
+    package = "iron-validatable-behavior",
+    version = "1.1.1",
+    sha1 = "480423380be0536f948735d91bc472f6e7ced5b4")
+  bower_archive(
+    name = "neon-animation",
+    package = "neon-animation",
+    version = "1.2.4",
+    sha1 = "e8ccbb930c4b7ff470b1450baa901618888a7fd3")
+  bower_archive(
+    name = "web-animations-js",
+    package = "web-animations-js",
+    version = "2.2.2",
+    sha1 = "6276a9f227da7d4ccaf77c202b50e174dd11a2c2")
+  bower_archive(
+    name = "webcomponentsjs",
+    package = "webcomponentsjs",
+    version = "0.7.22",
+    sha1 = "8ba97a4a279ec6973a19b171c462a7b5cf454fb9")