Backport nested keypath mapping from .20 to .10.3
Adds support for reverse serializing keypaths in the form 'location.state' so that location becomes a dictionary