[TASK] Handle errors in subprocesses properly
To be able to properly handle missing class dependencies in ClassReflection
a ClassLoader should be added to end of the ClassLoader chain that throws
an exception if it's reached, meaning the class couldn't be loaded.
Make executeCommand throw an exception on errors, rather than just echo any
command output collected.