Added Error module to handle error reporting.

- parser and lexer errors are accurately reported.
- no .bc file is generated if there is an error during
  compiling.