add an optional extra on errors

It's pretty common to have an extra on loggers and so error should have an 'extra' argument to send more information to the logger. The extra is not returned to the client, only for internal use.

#### winston
winston.log('info', 'Test Log Message', { anything: 'This is metadata' });
#### ravenjs
client.captureMessage("Another message", {level: 'info', extra: {'key': 'value'}})
#### logging facility for Python
'The second keyword argument is extra which can be used to pass a dictionary…