Support for virtual fields in models.

A "Virtual field" is a field that is defined in the context of a model
but does not belong to the associated table but instead, it belongs a
related table in a 1-to-1 or 1-to-N relation.