feature/new parser on kore

**please review** @dwightguth 

A bit of context:
take textual full K outer definition ( with KAST inner)
->
KIL outer + bubbles
-> via KIL-to-KORE
KORE outer + bubble
->
parse KAST bubbles with new parser using a KORE outer definition of KAST (from kore.k)
->
complete KORE :-)

@radumereuta, this is the work we did last week. I fixed some tests and cleaned up a bit. have a look and adjust as you see fit.
I follow exactly this rule, don't write in Scala things that other developers need to see/tweak. This is a POSet implementation. Once implemented, nobody really needs to touch it. They can simply use it by instantiating the class with their relations. Furthermore, it only has a constructor and handful of public-facing methods (less then, greater then, in a relation, least upper bound). I implemented it in about two hours, including tests. An alternate implementation in Java would not be that hard to do and could be substituted without breaking any code.

Regarding duplication, I've addressed it above. I don't see a good solution for it.