Reorganize files
Code reorganization
Retire the current Java backend
Start on a new backend
Switch to interpreted Stratego instead of compiled (for much better build times)
Fix bug in listing all declared types
Store native data types in the Types() namespace. This reduces variability in the backend and solves ambiguities in reductions rules.
Compile DS type declarations to interfaces in Java and their evaluation function declarations.
Remove some debug statements
Reorganize some code.
Harness for emitting classes corresponding to arrow results
Emit evaluation function interfaces for overloaded arrows properly
Remove debug statements
Emit arrows and arrow signatures with unique names (to support overloading)
Fine tuning on names for arrows
Some template cleanup.
Fix some syntactic ambiguities and add duplicate declaration checking for sorts.
Emit result classes for arrows.