Handle maps in the result traverser

The result traverser treated maps as pojos and therefore did not expose the keys and values 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.