Fix exception handling on Java 6

Exception handling uses a java 7 feature (ReflectiveOperationException) which causes it to throw an exception in the exception handling on Java 6, so error messages vanish and OpenP locks up the computer/turtle forever.

This changes exception handling to be agnostic about what types of exceptions it is handling, just determine which exception of source and/or cause has a message and return that.