Normalized exceptions and logging in classes/

Along the same lines as the previous commit, we're now throwing not a
variety of exception types, but all std::runtime_error types.  All the
throws are now only throws, and not log calls too.  Any exceptions we
get and throw again, we just chopped out the try/catch stuff, and let
the exception propagate up the call stack.