Implement map_basic_int
Implement utility functions for map_basic_int
Switch Mul to use map_basic_int

This speeds up the (x+y+z+w)^15*((x+y+z+w)^15+w) expand benchmark from about 5s
to 4.2s.
Rename Dict_int to umap_basic_int (fixes #21)
Merge pull request #22 from certik/hash

Use std::map for Mul instead of std::unordered_map