refactor krun options to use JCommander
rename krun.Main -> KRunFrontEnd
bugfixes for krun options
temp
added a check and better error message
Merge branch 'unified-builtins2' into krun-options

Conflicts:
	src/javasources/KTool/src/org/kframework/backend/java/symbolic/BuiltinFunction.java
	src/javasources/KTool/src/org/kframework/backend/java/symbolic/SymbolicConstraint.java
	src/javasources/KTool/src/org/kframework/backend/unparser/UnparserFilterNew.java
	src/javasources/KTool/src/org/kframework/compile/transformers/FlattenTerms.java
	src/javasources/KTool/src/org/kframework/kil/loader/Context.java
	src/javasources/KTool/src/org/kframework/utils/BinaryLoader.java
	tutorial/1_k/2_imp/lesson_1/tests/config.xml
temp
Merge branch 'unified-builtins2' into krun-options

Conflicts:
	build.xml
	src/javasources/KTool/src/org/kframework/compile/transformers/FlattenTerms.java
	src/javasources/KTool/src/org/kframework/krun/Main.java
fix compile error in test
fix copyright
Merge branch 'unified-builtins2' into krun-options

Conflicts:
	src/javasources/KTool/src/org/kframework/krun/Main.java
	src/javasources/KTool/src/org/kframework/ktest/Test/TestCase.java
replace --definition back with --directory
fix --directory in compile to --output
fix config xml with single hyphen
fixed the translation from Java KIL to generic KIL
no need to specify --search option in config.xml for fun-untyped
Merge pull request #702 from yilongli/dont-use-search-for-testing-fun-untyped

no need to specify --search option in config.xml for fun-untyped
computed information for the new K rewriting algorithm during kompilation
refactored PatternMatcher to provide better api for the new rewriting algorithm
fixing bugs when kompiling rules for the rewrite machine