Support maps in match_specs

Keys cannot contain fancy terms, as in Erlang code. It is a big rough around the edges and I am not too sure about the first commit.