KORE milestone 1

**please review**

 - unit-tested convertors from KORE to KIL and back
 - significant changes and simplifications to KORE data structures. They are smaller and more powerful now

I believe the convention we have is to use AssertionError for things like this.