Added many missing operations (comparison on list/set), intersection,
etc.
Added muCallJava and CALLJAVA to enable calls to Rascal library
functions
Cleanup in Instructions: removed sp management (now done in mu2rvm)
Started with separate compilation.

Rascal2muRascal now first checks whether a previously compiled, update
version exists, of the filw to be compiled.If so, it re-uses it,
otherwise it compiles the file itself.

NOTE: while testing be aware that during testing a file needs to be
touched (and refreshed!!) before e recompilation is triggered.
Further support for calling Java methods.
Merge branch 'master' of https://github.com/cwi-swat/rascal.git
Major steps towards incremental compilation

Three closely related issues have been addressed.

1) Translation of abstract functions with a javaClass attribute. To
achieve this muCallJava and CALLJAVA have been added to the pipeline.
The type of the abstract function is propagated to the RVM level to
enable Java reflective calls to Rascal library functions.
2) Separate compilation: for each Rascal module M.rsc a compiled version
M.rvm is generated. When a module is executed the compiled versions of
functions from imported modules are collected just before execution.
3) Incremental compilation: imported modules are recompiled when the
source is newer than the compiled version.

Some caveats:

1) The module initalization code still has to be reorganized.
2) Testsuite code: idem.
3) Circular imports are not yet handlled.