-----------------
* Overhauled the relationship between Values and Resources.
* Drastic performance improvement and more accurate indexing of
attribute Values in databases with millions of rows.
* Got rid of multi-table inheritance from base Resource model that was
used to allow a generic foreign key from attribute Values to Resources
(Devices, Networks, Interfaces are all resources)
* All Resource subclasses are *abstract* now. Which means the model
fields they inherit are concrete on their own table.
* The Value object does not have an FK, and instead has a composite
primary key to (resource_name, resource_id) … for example ('Device',
16999) which is indexed together.
* The Attribute name is now also stored in a concrete field on the
Value at creation, eliminating a lookup to the Attribute table.
* All of these changes are accounted for in the database migrations, but
need to be done carefully! It's going to be quicker and easier for
databases that don't have Interfaces.