fixed tarball build on ubuntu machines

Ubuntu has a different lib directory naming convention than CentOS.
release test doesn't need driver_test_lock #402
added an on-demand js test runner #402
added mergeRequests to handle build props #402
added sharded cluster testing with driver tests #402
changed stop_replica_set to use one bash command #402
added more ruby driver tests #402
changed RemoteTransaction to throw rather than crash in the constructor #407
refs #401, refs #375,  refs #366, have authentication related transactional operations run in an alternate transaction stack.
They do not belong with the same stack as a multi-statement transaction. Also, have the NamespaceIndex use two locks, one for initializing/opening
NamespaceDetails, and another to access the map of opened NamespaceDetails. This way, no thread that wants to access an already opened NamespaceDetails
will ever block behind another thread in the process of opening a NamespaceDetails. Also, should reduce the likelihood of a deadlock where one thread
holds the _openRWLock and is blocking on row lock during an open, and another thread that has the row lock is blocked accessing a NamespaceDetails
because the first thread holds the _openRWLock. With this change, the only threads that can block behind each other are threads that are opening
NamespaceDetails, which is much more rare.
Merge branch 'bugs/366.375.401'

Conflicts:
	src/mongo/db/instance.cpp
	src/mongo/db/namespace_details.h
	src/mongo/db/namespace_index.cpp
Merge branch 'master' into putmultiple