merging #1774 online sharding test

adding a (currently known failure) test to check that a table can continue to be accessed/write during sharding
merge for #2317 test protobuf connection

adds a new test that opens a protobuf connection to the server to confirm that connections open and basic queries execute. This uses the third party C++ driver.
No more GCC 4.4

Review 1623 by @srh
Closes #1748
merge of both #2478 python dependency and #2480 Build Python driver without protoc

All drivers are now built with the server, the last of the protobuf dependency in the build process is removed, and python-eggs can now be built
fix for python/ruby makefile relative execution
Remove extra span
Fix typo in test spec and docs

Review 1620 by @larkost
Use Python 2 and 3 dict iteration methods.
Use the Python print function instead of statements.
Python 3 does not have unicode and long types.
Remove the xrange function to support Python 3.
Use the builtin next to support iterators in Python 2 and 3
Change how a code object is retrieved depending on the Python version.
Fix a miss spelled variable.
The miss spelling was copied to another location.
Get the correct version of the documentation at run time.