KORE milestone 1

**do not review just yet, but be prepared... **

 - 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 think we're arguing about semantics here. What this method does is return a new module with both the module items of "this", and the module items in "rules". Arguably you could call it either add or set, depending on precisely how you want to name a function which represents an immutable setter.