Handle maps in the data model

The result traverser treated Maps as pojos and therefore did not expose
the keys and values in the map to selectors. Maps are now treated
separately and selectors can be applied to their fields.
Merge pull request #238 from johnhearn/master

Handle maps in the result traverser