remove superflous include
make std::hash specialization for std::pair<> fully generic
remove some unneeded includes