SCHEMA-150. Moved mayProceed to BaseTool and redirected cleanup exceptio...

...ns.

Cleanup throws null pointer exceptions if setup fails, but blocks the printing of setup exceptions because of the try/finally block in BaseTool.toolMain().  Now prints cleanup error with a warning that the error was likely actually caused by faulty setup, then prints setup error.