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

Looking at the Google Java Style, `An empty block or block-like construct may be closed immediately after it is opened`. Where may is italic. So it is optional, there is no standard in this case. I don't have arguments against, but I would prefer if you don't put your name on that line in the history. It falls better in the category of code ownership.