java_library: provide a way to specify non transitive dependencies

Add compile_deps parameter to java_library function to specify the non
transitive depencies. Because of the way how dependency graph is
implemented the deps parameter must be still list all dependencies, also
the non transitive:

  java_binary(
    name = 'plugin',
    manifest_file = 'resources/MANIFEST.MF',
    deps = ['//:plugin-library'],
  )

  java_library(
    name = 'plugin-library',
    srcs = glob(...),
    deps = ['//lib:plugin-api'],
    compile_deps = ['//lib:plugin-api'],
  )

JAR file plugin.jar doesn't include the content of plugin-api.