Added extract_traceback function

Create a C++ traceback from a boost::python object. Refactored get_exception_info() to return a struct of boost::python::objects instead of a tuple with magic knowledge in it. Also refactored and modularized tests some more.
This is a pretty unnecessary comment. In general I'd like to avoid cluttering the code with stuff like this that doesn't add anything.