optional - catch sub jobs errors

Since this is often hosting plugins with countless libraries that vary in policy between throwing errors and returning them I've been using domains to catch thrown exceptions and convert them to the returned exceptions this lib expects.

I don't know where you guys fall on the question of whether the process should force fail on a thrown exception and be restarted so it's in a known state. Domains seemed safe here since the sub functions are fairly well contained and have to communicate through a single object. Also not sure of performance implications or what the node best practice is.