errorlib: context support in sentry improvement

* Fix an where tags_context takes only one parameter.

* Add a security by catching and sending to sentry any
  exception which could occured during the process of the
  original exception for sentry.

* Add a "SentryEncoder", it is a simple encoder which will
  avoid to raise exception by trying to encode all the
  object. First it will try to get the dict by callin the
  __dict__ attribute. If it fails then it will try to cast
  the object as a string.

  This is needed because sometimes we get non serializable
  objects from mod_wsgi. By preprocessing data thanks to
  this encoder we can ensure that the whole data will be
  serializable.

  This method has been implemented because in the future
  if someone want to improve how we manage non serializable
  object by improving the encoder, it is possible.

* Solve #2535, (closes #2535).

Signed-off-by: Guillaume Lastecoueres <guillaume@tind.io>
What if this fails? :smile: should we at some point ignore the exception? What happens if sentry is unreachable? Can `client.captureException()` raise an exception?