MX-1270, fix rollback in the case where we encounter a bad fileop (like rename)
after we have passed lastGTID but before lastGTIDAfterSnapshot.
Also fix some test failures
MX-1273, use flags to forget about unique checks and locktree when calling updateOneObjectWithMods from secondaries
MX-1270, fix updates during that second phase
also add a little more test coverage to rollback in general
MX-1271 Rename fastupdate to fastUpdate
MX-1272, verify update flags before applying them
MX-1274, Address some CR comments
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