Fix protocols and add unittest

review12371002
Ensure ids clause is a list for concatenation

issue3949
review11281006
Add UnionMixin

issue3906
review8341002
Remove on_change call from default_get

The on_change call doesn't work for xxx2many fields, so it is moved on the
client side where it is properly managed.

issue3923
review6301002
Improve validation of PYSON domain

Group the validation of PYSON domain by evaluated domain.

issue3948
review5351003