This makes it possible to have synthetic properties that have no
state.
Also test properties that are synthetic and have no backing field.
Closes: https://github.com/square/moshi/issues/299
* Add kotlin-module with support for Kotlin data classes
* Naming and style changes to KotlinJsonAdapter.
Biggest changes:
* Attempt to support regular classes and data classes
* Avoid parameter hashing when indexing is sufficient for
constructor parameters