resolve variable references
add and improve exception classes

- add 'not implemented' and 'semantic' errors
- move parse_error from parser.hpp to exception.hpp to gather exceptions
improve scope stringizer and define print() builtin function
improve and add samples