Add rope for more specific customization of transaction descriptions

This lets extensions, or core RT, define description handlers
which are specific to the transaction's ObjectType and Field, not just
Type.  If Field is true, the following keys will be tried, in order:

    ObjectType-Type-Field
    Type-Field
    ObjectType-Type
    Type

If Field is false, only the last two will be tried.

This flexibility is especially important for the Set transaction type,
for example, which encompasses a wide range of Fields on many different
types of objects.  Without the flexibility, adjusting Set from an
extension, or customizing it for a specific object type, requires
awkward wrapping of the existing code ref.
Merge branch '4.2/more-extensible-txn-descriptions'