SERVER-15833 Require basic compatibility between old and new configs for force reconfig.

Force reconfig is really about letting changing topology when the primary is not
available. It is not intended to allow you to make the cluster inconsistent by
marking non-index building nodes as index-building, or arbiters as non-arbiters,
e.g.
SERVER-15832 Prevent primary from stepping down while holding global lock.

Specifically, this prevents it from occuring during reconfig, either heartbeat
or command-initiated.
SERVER-15779 Clear drain mode flag when switching out of primary state.

Also, maintain the global lock held in multiApply while calling applyOpsToOplog.
Putting applyOpsToOplog outsite that critical section allows a race in which a
node might exit drain mode due to step-down and then be reelected primary, leading
to risky behavior.