Remove using namespace std declarations from headers (Part One)

While not a big problem, including namespace declarations in headers
will affect every file that header is included into, and by extension
any file which includes a header that includes the problem
header. It's best to keep the scope as narrow as possible otherwise
unforeseen problems may arise.

This cleanup exposed a few places where headers were no longer used
and others where they were used but missing.

Make cause some build breakage for certain configs.