Impacted versions: 11.0 Enterprise atleast (V9 & 10 too probably)

Steps to reproduce:
1. Create a new database
2. Install the `purchase` module
3. Install the `odoo_studio` module
4. Activate developer mode
5. Go to purchases > purchase orders and create a draft purchase order. Then open up the studio and create a new monetary field. The new field should have the following settings:
- readonly
- required
- widget = monetary
![image](https://user-images.githubusercontent.com/6352350/35973264-0f372f46-0cd5-11e8-8b79-1516c2fa4fef.png)
6. Click on the "More" button and activate tracking for this field too:
![image](https://user-images.githubusercontent.com/6352350/35973298-308bfb18-0cd5-11e8-9475-cafeb447579b.png)
7. Save all these changes and go back to the apps list. Now try to install another app, for example `project`. You'll now get a traceback:
![image](https://user-images.githubusercontent.com/6352350/35973342-52005578-0cd5-11e8-90a5-695706dcf4c9.png)

Current behavior: You cannot install new modules or update existing modules anymore. The `track_visibility` breaks the framework.

Expected behavior: You can install new apps and update existing apps without any issues.


addons/mail/models/ir_model.py
model_class = super(IrModel, self)._instanciate(model_data)
        if model_data.get('is_mail_thread') and model_class._name != 'mail.thread':
            parents = model_class._inherit or []
            parents = [parents] if isinstance(parents, pycompat.string_types) else parents
            model_class._inherit = parents + ['mail.thread']
        return model_class
    def unlink(self):
        
        query = "DELETE FROM mail_followers WHERE res_model IN %s"
        self.env.cr.execute(query, [tuple(self.mapped('model'))])
        return super(IrModel, self).unlink()
class IrModelField(models.Model):
    _inherit = 'ir.model.fields'
    track_visibility = fields.Selection(
        [('onchange', "On Change"), ('always', "Always")], string="Tracking",
        help="When set, every modification to this field will be tracked in the chatter.",
    )
    def _reflect_field_params(self, field):
        vals = super(IrModelField, self)._reflect_field_params(field)
        vals['track_visibility'] = getattr(field, 'track_visibility', None)
        return vals
    def _instanciate_attrs(self, field_data):
        attrs = super(IrModelField, self)._instanciate_attrs(field_data)
        if field_data.get('track_visibility'):
            attrs['track_visibility'] = field_data['track_visibility']
        return attrs