Handle maps in the result traverser

The result traverser treats maps as pojos and therefore does not expose the keys in the map to selectors. With this change, maps are treated specifically and selectors can be applied to their fields. 
This is working in our application. Any feedback welcomed.