[IMP] fields: make attribute 'default' callable
[IMP] fields: set the default value to the closest field.default or _defaults

This fixes a potential issue: in the following case, the class Bar should
override the default value set by Foo.  The result was incorrect, because
_defaults is looked up before field.default.

    class Foo(models.Model):
        _name = 'foo'
        _columns = {
            'foo': fields.char('Foo'),
        }
        _defaults = {
            'foo': "Foo",
        }

    class Bar(models.Model):
        _inherit = 'foo'
        foo = fields.Char(default="Foo")