[FIX] ir_model: always setup models before calling _auto_init()
[IMP] models: in _init_manual_fields(), create fields instead of columns

Note that serialized fields are ignored; they are no longer supported, anyway.
[FIX] models: simplify conditions that seem to lead to missing fields
[IMP] models: improve performance of _setup_fields()

There was an issue in _setup_fields(): the method invokes _inherits_reload(),
which recomputes inherited fields, and invokes itself recursively on children
models.  This may be problematic if the children models have already been set
up.

This optimization avoids recursive calls of method _inherits_reload().  In
_setup_fields(), first all parent models are set up, then their fields are
inspected to determine inherited fields, and their setup is done.  This scheme
guarantees that inherited fields are computed once per model.