Include the suppressed exception in VisitorPropError

Makes it easier to guess what could be wrong, hopefully.
New exception: VisitorGrokRecordError

In the case where a string is received where a record is expected, it
ends up throwing ``TypeError: string indices must be integers, not str``
Throw this error instead.
Add a FIXME note
visitor: pass correct visitor instance into map

Passing the outer visitor object meant that the displayed path was
missing bits.  Pass the one we just took a copy of into this function.