Handle rogue plugin exceptions.

Summary

As summarised here:

bst-external#19

Bst crashes badly when the exception isn't caught in this plugin.

Steps to reproduce

Use the above plugin and try a fetch for a URL which doesn't work.

What is the current bug behavior?

Bst crashes, requiring a manual kill.

What is the expected correct behavior?

Should gracefully exit.