Allow limiting of LookupType in RT::CustomField->LoadByName

Most of the time, when a Name is supplied, only one LookupType is valid.
If multiple CFs with the same name are found, applied to different types
of objects, the wrong CF may be returned.  It may even contain an
invalid ContextObject.

Allow LoadByName to take an optional LookupType value, or set of values.
Additionally, infer this set if a ContextObject has been set, and limit
appropriately.
Allow specification of the LookupType of the CF to assign rights to

This is useful when there are multiple CFs with the same name applied to
different types of objects.
Merge branch '4.2/initialdata-cf-lookuptype'