Feature/inner kore improvements

**please review**, @dwightguth, @osa1 

 - changed the underlying representation of KList to a linked list
 - made most other KORE classes be treatable as a KList (at least from Scala)
 - changed the signature of the Transformers to match Java 8 lambdas
 - added many tests

companion object? can you provide an example of what that means?