more work on the map trait and TreeMap/LinearMap

currently breaks test/bench/core-map.rs, which will need to be rewritten