Ported forest.rkt to kawa as forest.scm.

runs only on modified kawa-1.12.1.jar, includes fix for char-set-union
(http://savannah.gnu.org/bugs/?37633)
improved error reporting and cache languages to disk
java updated java grammar and new

- update java grammar to match the JLS definitions by chapters
- attempt at implementing functional interface for pattern definitions
fixed expand-term evaluation strategy

now use applicative order
removed all the 'apply' instances
have working functional definitions
Merge branch 'new_patterns'
added file position to caches

file position of tokens and terms written to cache, not read from cache
yet
uses source location in cached files, self-bootstraps

- now loads core language definition from files copied from from cache
- added reading of source loaction from cached files
made java typechecking almost work

- replaced import with extend and include
- implemented java grammar typecheck function (still incomplete)
- reworked term and token structs to do equal and hash
- removed literal core lang
several additions and fixes

added message promotive pattern
removed string parser term, uses token instead
fixed functional notation

added unexpanded’s in all the right places to make sure it does not
evaluate intermediates
implemented many java type check features

- redid functional grammar so it doesn’t expand too much/often
- added if expression in functional
- keywords parse as “”kw-* tokens
first full jacks regression test log committed
worse results