Don't throw errors around, add them to the context (#85)

Provide position info with error/warning when available.
Also added a few clauses to format_error for missing error messages.
Introduce different verbosity levels.

Defined levels are INFO, DEBUG and TRACE.

For each `verbose` option present in the compiler options,
the verbosity level used is put up a notch
(i.e. `[... verbose, verbose, ...]` yields INFO and DEBUG output).
New `load` tag (#100)

Need more tests before being ready to close this.