Keep track of which Custom Field object these Values belong to

While you can reverse the Custom Field by looking at
$cfvs->First->CustomFieldObj you lose the Context Object of the Custom
Field (and more importantly, the ACLEquivalenceObjects).

Knowing this lets you know what Queue a CF was loaded against so if you're
writing an External Custom Field (or otherwise massaging values) you
could tweak the output based on the Queue.
Pass down the CustomField object from the collection.

Given a RT::CustomFieldValue object you can now do the same
introspection that External Custom Fields can do on
RT::CustomFieldValues by looking at the actual CustomField object that
was used to load the collection.  This is transparently returned by
->CustomFieldObj as long as SetCustomFieldObj was called previously and
passed a CustomField which matches the one the database says this
CustomFieldValue belongs to.
Add tests for the new ->CustomFieldObject and ->CustomFieldObj methods
Merge branch '4.2/expose-cf-to-cfvs' into 4.2-trunk