Another big chunk of changes. Reworked JSON implementation to support Kotlin data classes. Some functions to support using Kotlin templates. Methods for working with Kotlin-enhanced constructors. Allow for setting configuration file with system property.