Test cases format
~~~~~~~~~~~~~~~~~
(See also test.exe -h help)
There are four kinds of magical comments:

1. // E: unbound value
2. // W: pattern.*exhaustiv
3. // OK
4. (*
BEGIN-OUTPUT
output
blah
END-OUTPUT
*)
5. (*
BEGIN-INPUT
input
blah
END-INPUT
*)
6. // NO-TEST
7. // REFERENCE : Some.dll
8. // INCLUDE : Some.n

First one marks line, we expect error in. "error" is regular expression 
that is matched against actual error in this line.

Second one is the same, but we expect a warning.

Third means that we do not expect any errors in this very line.

Fourth one states two things:
  - we should run this test case
  - we should expect given output (verbatim)

Fifth means that we want these input to be passed to the program during runtime 

Sixth one means that we don't want this file to be tested

Seventh one allow as to add dlls which are needed to compile the program
Note: Tester will be looking for dlls from the $dll_path directory so be sure
to pass correct path 

Eight one allow as to add some Nemerle files which are needed to compile the program 
Note: Tester will be looking for these programs from current directory so be
to pass correct path 

Test case that have no "// E:" markers is expected to be compiled 
successfully by both ncc and C# compiler. If it contains no BEGIN-OUTPUT
marker, then it is compiled as C# module (needs no entry point aha 
Main() function).

test.n tries to run all *.n programs in current directory
