Type checker: constructor types may be used now in 'throws' clauses of
function signatures.
Added 'MultipleKey' constructor to the 'RuntimeException' data type.
Fixes in the List.rsc: IndexOutOfBoundsError -> IndexOutOfBounds;
DuplicateKey -> MultipleKey.
Fix in the type checker: field projection in case of tuples.

Fixes #298.
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.
Fixed bug where I forgot about the backtracking and ==>
Merge remote-tracking branch 'upstream/master'
added random id generator