Exception info

Hey Austin!

Here are the main changes which I did (and what I still remember):
* The exception class now takes C++ parameters instead of a exception_info to allow users for better formatting
* Uses of exception_info have been limited to instances of exception_translator's thrower signature.
* The exception translator now has default exception translation. It throws generic exceptions when no specialized translators have been registered.
* The standard exception translator has better support for syntax errors (output is similar to what the interpreter would do). It showcases the benefits of not having our exception class taking exception_info as an argument.).

Sadly, the travis build fails, but this is due to a configuration issue which I don't know how to fix quite yet. I will be on vacation for a week or so.

Cheers

Michael