Fix two possible UnicodeDecodeError when an exception occurs

# Description

Using the `%` operator with strs containing encoded unicode characters and a unicode string will cause ascii errors. the `ustr()` function guards against this.

In the error handling of http.py, there are two instances of the use of the `%` operator with potential Ascii errors.

# How to reproduce:

Raise an error in a 8.0 create function with an ascii str with unicode characters such as 
```python
    @api.model
    def create(self, vals):
        raise Exception('\xc3\xa9') # é
```

# Result
The error handling code raises its own error and there is no description of the original problem
```
Traceback (most recent call last):
  File "/home/scarter/Private/code/odoo/SFL-Runbot/git/odoo/openerp/http.py", line 499, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/home/scarter/code/odoo/SFL-Runbot/git/odoo/openerp/addons/base/ir/ir_http.py", line 126, in _dispatch
    result = request.dispatch()
  File "/home/scarter/Private/code/odoo/SFL-Runbot/git/odoo/openerp/http.py", line 519, in dispatch
    return self._handle_exception(e)
  File "/home/scarter/Private/code/odoo/SFL-Runbot/git/odoo/openerp/http.py", line 505, in _handle_exception
    'data': serialize_exception(exception)
  File "/home/scarter/Private/code/odoo/SFL-Runbot/git/odoo/openerp/http.py", line 525, in serialize_exception
    "message": u"%s" % e,
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0: ordinal not in range(128)
```

# Expected behaviour
The traceback talks about the error raised
```
  File "XXXXX.py", line XXX, in create
    raise Exception('\xc3\xa9')
Exception: é
```