begin the implementation of the typelevel map.
Merge branch 'master' into map
extraction function written for Map.
add some test
first set of working tests.
add test main files.