Revert "Revert "added; mongos failover support""

This reverts commit af0d340537f75f2f0b224858bf54955d18402bb9.

The lack of support for failover of mongos could be considered
a bug so putting back in 3.6 branch.
tests; tweek mongos test timeout
docs; document third param to document.save callback

closes #1536