Create an extractor for kotlin code in android

The extractor is writtten in Go and will create a .kzip file in a format
that is meaningful to the internal kotlin indexer. The compilation unit
created will comprise of
1. source .kt files
2. .jars on the classpath
3. args passed verbatim to kotlinc
4. Output key of compilation

The following support will be added in a future CL
1. vnames.json (this is necessary for indexing generated code)
2. kotlin-home (this is likely necessary to prevent issues caused by
   kotlinc skew between android builds and kotlin internal indexer)

This CL has been written in external/kythe import for now, since the
outputs are specific to inernal kotlin indexer.

Bug: 265428637
Test: generated .kzip files for all kotlin units in aosp (with a
denylist) https://android-review.git.corp.google.com/q/topic:%22kotlin_kythe%22

Test: ran the indexer locally using go/kythe-git-local-run#indexing-to-local-xrefs-server

Change-Id: Ieab000a0c386fa8a9e366b861dacab77b880b639
4 files changed