Let subclasses of EvaluatorTask see 'caller' field.

So we don't repeat ourselves.
make debug message show location even if not 301 returned
Pass around Uri objects instead of strings.

Also catch possible exception when making the intent if there are no apps to handle the returned uri string.