UI::CLI::Output: now allows message interception

Added #intercept_print_message allowing for formating/customization of
messages by the caller.
Spider updated to retry on failed requests

And give up and print an error message after MAX_TRIES have been
performed.
Also added #failures attr_reader returning the URLs for requests
which failed.