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.
This is mega copypasta and can probably be boiled down a lot. It was mostly copied from ivy_resolve.py and ivy_utils.py, which both have a lot of configurable parameters that I probably don't need. I already ripped out a lot, but I'm still not sure how much of the remainder is actually necessary.