Added support for including .proto files in remote .jars on the --proto_...

...path when compiling with protoc.

This is done by way of a new 'imports' parameter added to the java_protobuf_library target, which accepts jar dependencies as inputs. The syntax for this is:

java_protobuf_library(name='foo',
  imports=jar_sources(jar(org='foo.com', name='bar', rev='1.2.3'), jar(org='bar.com', name='foo', rev='3.2.1')),
  ...,
)

An extra ivy step called 'ivy-imports' (rather than ivy-resolve) has been added to accomodate this. It occurs after bootstrap and before codegen.

Note: Not ready for full rbcommons review yet. Still need to test properly (with actual jars of .protos on the nexus somewhere), and there's probably ways (I hope) that ivy_imports can be cleaned up.
could be simplified with bases.union(self._proto_path_imports(targets)) ?