let logging module determine whether to include exception info

prevents spurious ereporter stack traces like this one from https://www.brid.gy/log?start_time=1406986065&key=aglzfmJyaWQtZ3lyTAsSDVB1Ymxpc2hlZFBhZ2UiJWh0dHBzOi8va3lsZXdtLmNvbS9yZXBseS8yMDE0LzA3LzMwLzEMCxIHUHVibGlzaBiAgICAgPKICgw :

Traceback (most recent call last):
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/ext/ereporter/ereporter.py", line 227, in emit
signature = self.__GetSignature(record.exc_info)
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/ext/ereporter/ereporter.py", line 175, in __GetSignature
fulltype = '%s.%s' % (ex_type.__module__, ex_type.__name__)
AttributeError: 'NoneType' object has no attribute '__module__'
Logged from file publish.py, line 364
publish: show nice error message if they're trying to publish a silo post

fixes #243
give up on 4xx webmentions with RECEIVER_ERROR as well as BAD_TARGET_URL
use input type="url" for preview button to use browser URL validation
publish: improve error reporting for comments, likes, and shares

- updated to accept activitystreams' new tuple return value for _create
  methods
- move some error-checking into activitystreams-unofficial which is
  in a better position to give detailed error messages.