base: Update #includes for bitunion.hh.

<iostream> isn't actually used anywhere in bitunion.hh. The templated
hash struct type is defined in <functional> and should be included
explicitly.

Change-Id: I8691ccb2f9e28a01610ae8bb4d9591b07cb7320b
Reviewed-on: https://gem5-review.googlesource.com/7781
Reviewed-by: Matthias Jung <jungma@eit.uni-kl.de>
Maintainer: Gabe Black <gabeblack@google.com>
diff --git a/src/base/bitunion.hh b/src/base/bitunion.hh
index 38d10da..569d650 100644
--- a/src/base/bitunion.hh
+++ b/src/base/bitunion.hh
@@ -31,7 +31,7 @@
 #ifndef __BASE_BITUNION_HH__
 #define __BASE_BITUNION_HH__
 
-#include <iostream>
+#include <functional>
 #include <type_traits>
 
 #include "base/bitfield.hh"
@@ -404,9 +404,6 @@
 namespace std
 {
     template <typename T>
-    struct hash;
-
-    template <typename T>
     struct hash<BitUnionType<T> > : public hash<BitUnionBaseType<T> >
     {
         size_t