Use generics to specify the Observer type

OPEN - task 21: Use Generics in AbstractModel 
http://github.com/DevOpsDistilled/OpERP/issues/issue/21
Merge branch 'iss21'