cherry-picked the bidirectional partition change from mongodb/mongo@0d6aff9

This will help us fix rollback_simple1.js (#374) and other replset tests.

Original commit message:
"""
SERVER-8558 Support mongobridge delay parameter in ReplSetBridge

This should be compatible with future improvements to support ranged delays (see #317)

Support unidirectional network partitioning in ReplSetTest
The default behavior (bidirectional) remains as-is. This adds support for terminating an X->Y link while leaving Y->X untouched.

Test replica set flapping and heartbeatTimeoutSecs

Also adds two fail points to support JS tests. rsDelayHeartbeatResponse will delay the replSetHeartbeat command response on a node. rsStopHeartbeatRequest may be used to preemptively fail a heartbeat to another member (by its host:port).

Signed-off-by: Eric Milkie <milkie@10gen.com>
"""
Merge branch 'bidirectional-partition'