add 2 subclasses of RuntimeException, one to be thrown when there is a m...

...istake in the arguments for a job, and one to be thrown when something is not supported in the current mode. although runtime exceptions are typically not supposed to be caught/handled this allows for nicer error messages to the user if one of these 2 errors is thrown (for example this could be done in Tool, not yet implemented)