Options

A set of clenups, bugfixes and refactorings.
Line 162, catch (const std::runtime_error& e). For some reason I didn't need these #include <stdexcept> on my machine but travis requires them...