Adding folder prefixes onto header includes

Means that clang picks them up correctly when using it for
linting/checking
Adding tests for system_out method

Involves overriding the putchar function so that there's no output
printed during the tests
Adding test to check for empty stack pop

Popping from an empty stack should cause the VM to stop and set its
status flag
Adding tests for empty and full stack errors
Removing dump_program function from vmbase

Not really necessary now there's decent tests
lcov removes info about test sources
Adding tests for dvm output command
overriding getchar syscall

In testing it will return the last integer sent using putchar. MAkes it
easier to test that the output functionality is working correctly.
Updating output tests to use getchar