Adds basic MtError scaffold
Adds mt_error to the build
Remove underscores from symbols in the grammar
This is to prevent conflicts with the palm mute modifier which is now
the underscore character.
Implements configuration header parsing

Adds some sweet rules in the lexxer to parse the configuration (or
"conf") header.

This is done by adding two exclusive start states:

<confidbuild>: configuration id build state
This is used for building the id of a configuration value.
For example: `strings: 7` would have the id of `strings`.

<confvaluebuild>: configuration value build state
Very similar to the id build state, but for values.
For example: `strings: 7` would have the value of `7`.

Both states return a string.

One problem with this current implementation is that the error output
for malformatted config headers is horrible. It has a tendancy to more
  or less just skip through the header once an error is made until it
  hits the tab section. Eventually, this should be fixed and better
  errors, or at least a general error for the configuration header,
  should be implemented.