Fix warnings due to anonymous namespace.

Some gcc-4.2 builds complain when a type is defined within an
anonymous namespace, but subsequently used to define members of
any class declared outside of the anonymous namespace.  This is
probably a spurious warning, but it is easy to fix by making the
type itself a member of the class that is using it.

Change-Id: I4cf5cf2e9538f6a0fd611046193e9f0bd53b76d1
Merge topic 'anon-used-by-non-anon' into master

153473f3 Fix warnings due to anonymous namespace.