Fixed error in slicing
Fixed error in slicing assignment
Enabled some slicing tests
More fixes related to slicing
Fixes #400.
added peano modulo 17 demo for demo and benchmarking purposes
Minor renaming.
Merge branch 'master' of https://github.com/cwi-swat/rascal.git
Field assignment now computes field offset statically.
Simplification of code
Fixed field update: now computes field index statically
Fixed annotation assignmment
Fixes #411
Fixes to append when loop label is present.
Fixes #410.
Added a test case related to issue #410.
Some RVM reorganization and extension.

1. All code is generated via methods addCode0, addCode1, addCode2, ...
that take an opocde and 0, 1, 2, ... arguments. This  is a preparation
for encoding the arguments in a single word.

2. Added frequency counting for opcodes.
Change to one of the compiler tests.
Major performance improvements to RVM

The following changes have been made to the RVM:

- All instructions are now encoded in a single 32-bit word. Operator and
arguments are retrieved using bit operations. Advantage: Only a single
memory access and pc increment to fetch an instruction.

- Added special case operations for loading the value of local variables
0 -- 9, i.e. LOADLOC0, LOADLOC1, etc. Advantage: minimize overhead per
access to each variable.

- Reorganized the order of cases in the interpreter based on profilign
instruction frequency. Advantage: improve cache locality.

The net effect is that the average speedup for all our benchmarks goes
up from 13x to 16.75x.

Note: due to argument enociding we have now an upperbound of 4096 for
number of constants, etc. When this turns out to be too small, we have
to move to either 64 bit words, or add extended instructions for
arguments that do not fit.
Merge branch 'master' of https://github.com/cwi-swat/rascal.git