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
path = path_str.split('.')
        
        for i, name in enumerate(path):
            model = env[field.comodel_name if field else self.model_name]
            field = model._fields[name]
            
            if field is self:
                self.recursive = True
                continue
            
            model._field_triggers.add(field, (self, '.'.join(path[:i] or ['id'])))
            for invf in model._field_inverses[field]:
                invm = env[invf.model_name]
                invm._field_triggers.add(invf, (self, '.'.join(path[:i+1])))
    def setup_triggers(self, env):
        """ Add the necessary triggers to invalidate/recompute ``self``. """
        for path_str in self.depends:
            self._add_trigger(env, path_str)
    
    #
    
    #
    def get_description(self, env):