Support geo indexing with points equal to max (+180 by default) SERVER-4027

Conflicts:
	src/mongo/db/geo/2d.cpp
	src/mongo/db/geo/core.h
added feedback when points are out of bounds
lazy evaluation of object string and verify
minor spacing and indentation changes
SERVER-6918 buildbot debug geo_borders.js, make geo errors more informative
SERVER-1752 Remove unused Cursor::matcherPtr() function.

Conflicts:
	src/mongo/db/btree.h
	src/mongo/db/cursor.h
	src/mongo/db/queryoptimizer.h
	src/mongo/db/queryoptimizercursorimpl.cpp
	src/mongo/dbtests/queryoptimizercursortests.cpp
This is my first Geo cleanup change.

Conflicts:
	src/mongo/SConscript
	src/mongo/db/geo/core.h
	src/mongo/db/geo/haystack.cpp
	src/mongo/db/geo/shapes.h
SERVER-7448 fix build break on windows
fix compile error on windows by using our own random
one more instance of near.  this one didn't cause a compile error but caused a test to fail.
SERVER-2874  Import S2 the flags library it depends on, add GeoJSON parsing
SERVER-2874 make the S2 stuff compile on mac/windows

Conflicts:
	src/mongo/SConscript
	src/third_party/SConscript
remove leftover junk assert
SERVER-2874 add s2 indexing and cursor

Conflicts:
	src/mongo/SConscript
	src/mongo/bson/bsonobj.h
	src/mongo/db/jsobj.cpp
	src/mongo/db/matcher.cpp
fix some compile warnings
SERVER-1752 Move BtreeCursor class definition to its own header file.

Conflicts:
	src/mongo/db/btree.h
	src/mongo/db/btreecursor.cpp
	src/mongo/db/cap.cpp
	src/mongo/db/dbcommands.cpp
	src/mongo/db/dbcommands_admin.cpp
	src/mongo/db/dbcommands_generic.cpp
	src/mongo/db/dbeval.cpp
	src/mongo/db/dbhelpers.cpp
	src/mongo/db/driverHelpers.cpp
	src/mongo/db/hashindex.cpp
	src/mongo/db/hashindex.h
	src/mongo/db/indexkey.cpp
	src/mongo/db/namespace_details.cpp
	src/mongo/db/query_optimizer_internal.cpp
	src/mongo/db/queryoptimizercursorimpl.cpp
	src/mongo/dbtests/btreebuildertests.cpp
	src/mongo/dbtests/btreetests.cpp
	src/mongo/dbtests/btreetests.inl
	src/mongo/dbtests/cursortests.cpp
	src/mongo/dbtests/indexupdatetests.cpp
	src/mongo/dbtests/jsobjtests.cpp
	src/mongo/s/d_migrate.cpp
	src/mongo/s/d_split.cpp
SERVER-2874 performance fix for s2 intersect, add s2 near

Conflicts:
	src/mongo/SConscript
flip dedup on s2 searches to avoid dups
Revert "flip dedup on s2 searches to avoid dups"

This reverts commit e963c443d90f0909cba0ef5aa31fa0ce4d745d4a.
SERVER-7670 fix s2near yielding behavior and btree+constructor freakout
kill newnear, allow >1 special index type

Conflicts:
	src/mongo/db/query_optimizer_internal.cpp
	src/mongo/db/queryutil.cpp
	src/mongo/db/queryutil.h
	src/mongo/s/chunk.cpp