Integrate supplementary fields to base field

This adds support for defining an explicit label, search, code,
and order field that exists on the same model of the base field. This
provides a more dynamic nature to a data field by having it be represented
in various ways depending on how it is being interacted with.

This implementation supersedes the need for direct integration of the
Lexicon and ObjectSet classes in the DataField API. Detection of these
types will be removed in 2.4, however the detection during the avocado
init will remain for now.
Merge pull request #181 from cbmi/supp-fields

Integrate supplementary fields to base field