Remove unnecessary ~ on HashMap

There is no reason the HashMap should be a unique pointer. It works just
as well as a direct value. And this way Value can derive Show.

Derive Show instead of ToStr.

HashMap is now in libcollections instead of libstd.