Provide more information when descending into nested objects.

MappingContext.beginMapping is now invoked for both customer-mappers as
well as custom-converters. Additionally, it is invoked with several
arguments that provide information about the mapping being started.

This implementation does not use the new information passed in; however,
it is now available to subclasses that need to do more tracking of the
current state.