Switched from Data.Map to Data.HashMap for better performance

I have replaced all usages of Data.Map with a lazy hash map for better performance. We can replace the lazy hash map with a strict one if performance is still an issue, but let us first try the lazy version.