Implemented stand-alone ranges and step ranges (int, real and rat!)

Pure int ranges return list[int].

Mixed-type ranges return list[real]. There is a minor incompatibility
with the interpreter. Instead of

[1 .. 5.5] == [1, 2.0, 3.0, 4.0, 5.0]; 

the compiler gives (note that the first element is of type real):

[1 .. 5.5] == [1.0, 2.0, 3.0, 4.0, 5.0];
Merge branch 'master' of https://github.com/cwi-swat/rascal.git
Documented progress in compiling libraries.