[REM] idiotic _invalids attribute, as well as get_invalid_fields
[IMP] simplify handling of callable _constraint message
[ADD] mode attribute to views

Not used yet, only defined its relation to inherit_id:

not inherit_id + primary -> ok
not inherit_id + extension -> error
inherit_id + primary -> ok
inherit_id + extension -> ok
[FIX] default_view should be based on mode=primary, not on inherit_id=False
[ADD] use of explicit primary mode in read_combined
[ADD] support for primary mode in <template>

should probably validate that there's an inherit_id (?)
[FIX] typos
[FIX] forgot to add primary attribute support to <template> in schema
[IMP] add some more explanations for the behavior of the mode attribute on views
[IMP] replace check_mode python-level constraint by an SQL CHECK constraint
[IMP] make mode handling more regular

Before this commit, @mode=primary would be sorta-ignored[0] if the current
view and its parent had the same model: the current view would *still* get
applied (as an extension) when asking OpenERP for its parent. This commit
makes mode=primary views behave regularly, they are *never* applied when
asking for their parent, only when asking for them or their children.

This allows "forking" views, and using extended views in some contexts without
breaking or duplicating the original view

[0] there was actually a problem when asking for the current view directly,
    first its parent would be resolved by applying it, then it would be
    applied to resolve itself, the view would thus get applied twice (oops)
Merge pull request #228 from xmo-odoo/extended-view-inheritance

Extended view inheritance