Merge pull request #271 from owolabileg/master

Moved Indexing to kompile
Java backend: cleaned up methods related to maintaining variables inside a term; added some javadoc
Java backend: moved KEqual:ite from MetaK to TermEquality because MetaK functions will not be evaluated during kompilation
Java backend: added an assertion to catch unevaluated ground functions
Java backend: fixed a bug related to unifying KLabelIndex and TokenIndex
Java backend: temporary hack to make #if#then#else#fi work for KList's
Java backend: changed the signature of the constructor of KItem because I need to get hold of the definition object when computing the sort
Java backend: more progress on computing the sort of a KItem based on user-defined sort predicate rules
bad decision earlier; should have received TermContext in the constructor of KItem
Java backend: fixed a stupid bug introduced by myself earlier
Java backend: finally added support for user-defined sort predicate rules
included environment-based fun-untyped into regression test; revised MY-PATTERN-MATCHING module
included environment-based fun-untyped into regression test; revised MY-PATTERN-MATCHING module
fixing failing tests
updated outputs of logik; the pretty printer seems to be smarter
updated an output; temporarily comment out an assertion because if fails visitor/imp.k somehow
fixed previous incorrect update of the smt-model output
addressed most of the comments in the code review
Java backend: refactored UnificationFailure and PatternMatchingFailure to have a common base class
Java backend: refactored the constructor of KLabelConstant to recieve TermContext instead of Context