Improves exceptions logging

While using [ui/django-rq](https://github.com/ui/django-rq) and `django.utils.log.AdminEmailHandler`, I faced two issues:

- `UnpickleError` wasn't caught, and therefore I didn't get any mail when incorrect arguments were passed to RQ;
- Mails were poorly formatted.

At first I thought it was coming from django-rq, but after digging I realized this was coming from RQ.  This pull request fixes these two issues.
I've been logging errors to Sentry and debugging failed jobs aren't always pleasant due to the lack of visibility towards `args` in `kwargs`.

We can make stack traces more useful by attaching `extra` data to logging which will be [picked up by Sentry](http://raven.readthedocs.org/en/latest/config/logging.html#usage):
```python
log.error(message, exc_info=True, extra={
    'func': foo,
    'args': bar,
    'kwargs': baz
})
```
Why `log.error` instead of `log.exception`?
* Setting `exc_info=True` should add a traceback to the logger
* `log.exception` doesn't accept `extra` attribute in some Python versions, more information on this bug [here](http://bugs.python.org/issue15541).