Modified schema.core/map-walker so that it no longer uses dissoc when
evaluating clojure.lang.APersistentMap types.

This was necessary as clojure.lang.APersistentStruct is a map type
yet doesn't allow for dissoc and will throw a runtime exception.

All existing tests pass, along with new tests related to structs.

Additional details here;
https://github.com/Prismatic/schema/issues/128