Allow socket timeout to be set after connecting SERVER-1929
Check pointer before dereferencing SERVER-1929
Track heartbeats received for health SERVER-1929

Conflicts:
	src/mongo/db/repl/health.cpp
	src/mongo/db/repl/rs.h
Add retry to heartbeat SERVER-1929

Conflicts:
	src/mongo/db/repl/heartbeat.cpp
Add heartbeat timeout setting SERVER-1929

Conflicts:
	src/mongo/db/repl/rs_config.cpp
	src/mongo/db/repl/rs_config.h
SERVER-1929 Set return value on heartbeat retry
SERVER-1929 Remove unused heartbeat options from stepdown logic

Fixed test because stepdown is so much faster that the connection is dead
by the time ismaster is called.
SERVER-1929 Fix test to handle a stepdown
SERVER-1929 Prevent outgoing heartbeat ports from closing on stepdown
SERVER-1929 Replace literal with a constant

Conflicts:
	src/mongo/db/repl/rs.cpp
SERVER-1929 Fix test race condition

Conflicts:
	jstests/replsets/stepdown.js
refs #344, fix compilation issues from merge of server-1929
refs #344, fix compilation issue from merge, remove function that was accidentally added
refs #344, remove more code that was accidentally merged in
Merge branch 'bugs/344'
closes #342 Generate index keys in IndexDetails::getKeysFromObject using
the Descriptor, which now stores much more information. This change
leaves some technical debt, because the design for recognizing
IndexPlugins is screwy. It will be refactored later.
refs #342 Fix a bug that missed the last commit
Move closeDatabase to database.cpp, clean up a bit
Fix compilation error on some compilers
fix comment headers #327