handle primitives with pointers

- this enables runtime errors when using null pointers
- implements as discussed in #61
- adds failing runtime tests to compiler tests
link all tests backwards

this guarantees that tests will fail on the right level
i.e., all semantic checking tests must first pass the parser
small fixes

also link compiler tests straight to parsing tests
refactor test scripts
remove symlinked tests
Merge pull request #84 from rapid-lang/primitive_refactor_v2

Primitive refactor v2