Catch error when backend tool is unknown
Catch error when backend tool is unknown

We were calling get_edatool(tool) twice: once for parsing backend
arguments and then again to do the actual work. The first call wasn't
surrounded by a try/catch for ImportError. This meant that if you
asked for a bogus tool (with a typo in your corefile), a
ModuleNotFoundError would make it to the console.

This patch surrounds the call to get_edatool with the try/catch block.
It also uses the backend_class that we found, rather than calling
get_edatool again.

olofk/fusesoc,lowRISC/fusesoc,olofk/fusesoc,lowRISC/fusesoc