Impacted versions:10

Steps to reproduce:
Following the code in https://www.odoo.com/documentation/10.0/api_integration.html both in a fresh install and against 'https://demo.odoo.com/start' trows a type error

Current behavior:
Now I get an error when executing:

```
ids = models.execute_kw(db, uid, password,  'res.partner', 'search',
    [[['is_company', '=', True], ['customer', '=', True]]],
    {'limit': 1})
[record] = models.execute_kw(db, uid, password,
    'res.partner', 'read', [ids])
# count the number of fields fetched by default
len(record)
```

In particular it seems to be a type error (cannot marshal class odoo.tools.float_utils.float_precision)

Expected behavior:
I would expect it to behave as in the documentation

openerp/fields.py
""" Convert ``value`` from the record format to a suitable display name. """
        return ustr(value)
    
    #
    
    #
    def __get__(self, record, owner):
        """ return the value of field ``self`` on ``record`` """
        if record is None:
            return self         
        if record:
            
            record.ensure_one()
            try:
                value = record._cache[self]
            except KeyError:
                
                if record.id:
                    self.determine_value(record)
                else:
                    self.determine_draft_value(record)
                value = record._cache[self]
        else:
            
            value = self.convert_to_cache(False, record, validate=False)
        return self.convert_to_record(value, record)
    def __set__(self, record, value):