SERVER-8676 Macroize 'hash' namespace detection in platform, use for s2
SERVER-12166: Promote struct/class mismatch warning to error with GCC/Clang

Conflicts:
	SConstruct
	src/mongo/db/geo/s2common.cpp
	src/mongo/db/geo/s2common.h
	src/mongo/db/geo/shapes.h
	src/mongo/db/query/index_bounds_builder.cpp