address_types.py test seems to fail intermittently on travis

It was mentioned in https://github.com/bitcoin/bitcoin/pull/11991#issuecomment-357922664 that this could be due to sync_mempools failing. A failure I saw looked like:

```
address_types.py failed, Duration: 14 s
stdout:
2018-01-12 23:14:39.513000 TestFramework (INFO): Initializing test directory /tmp/bitcoin_test_runner_20180112_231145/address_types_178
2018-01-12 23:14:48.747000 TestFramework (INFO): Sending from node 0 (['-addresstype=legacy']) without multisig using default
2018-01-12 23:14:51.012000 TestFramework (INFO): Sending from node 1 (['-addresstype=p2sh-segwit']) without multisig using default
2018-01-12 23:14:53.263000 TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/travis/build/bitcoin/bitcoin/build/bitcoin-x86_64-unknown-linux-gnu/test/functional/test_framework/test_framework.py", line 123, in main
    self.run_test()
  File "/home/travis/build/bitcoin/bitcoin/build/bitcoin-x86_64-unknown-linux-gnu/test/functional/address_types.py", line 183, in run_test
    assert_equal(unconf_balances[to_node], to_send * 10 * (2 + n))
  File "/home/travis/build/bitcoin/bitcoin/build/bitcoin-x86_64-unknown-linux-gnu/test/functional/test_framework/util.py", line 38, in assert_equal
    raise AssertionError("not(%s)" % " == ".join(str(arg) for arg in (thing1, thing2) + args))
AssertionError: not(0E-8 == 1176.25722960)
2018-01-12 23:14:53.263000 TestFramework (INFO): Stopping nodes
2018-01-12 23:14:53.577000 TestFramework (WARNING): Not cleaning up dir /tmp/bitcoin_test_runner_20180112_231145/address_types_178
2018-01-12 23:14:53.577000 TestFramework (ERROR): Test failed. Test logging available at /tmp/bitcoin_test_runner_20180112_231145/address_types_178/test_framework.log
2018-01-12 23:14:53.578000 TestFramework (ERROR): Hint: Call /home/travis/build/bitcoin/bitcoin/build/bitcoin-x86_64-unknown-linux-gnu/test/functional/combine_logs.py '/tmp/bitcoin_test_runner_20180112_231145/address_types_178' to consolidate all logs
```
https://travis-ci.org/bitcoin/bitcoin/jobs/328318030
pindex = chainActive.Tip();
        }
    }
    
    assert(pindex != nullptr);
    if (request.params[0].isNull()) {
        blockcount = std::max(0, std::min(blockcount, pindex->nHeight - 1));
    } else {
        blockcount = request.params[0].get_int();
        if (blockcount < 0 || (blockcount > 0 && blockcount >= pindex->nHeight)) {
            throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid block count: should be between 0 and the block's height - 1");
        }
    }
    const CBlockIndex* pindexPast = pindex->GetAncestor(pindex->nHeight - blockcount);
    int nTimeDiff = pindex->GetMedianTimePast() - pindexPast->GetMedianTimePast();
    int nTxDiff = pindex->nChainTx - pindexPast->nChainTx;
    UniValue ret(UniValue::VOBJ);
    ret.push_back(Pair("time", (int64_t)pindex->nTime));
    ret.push_back(Pair("txcount", (int64_t)pindex->nChainTx));
    ret.push_back(Pair("window_block_count", blockcount));
    if (blockcount > 0) {
        ret.push_back(Pair("window_tx_count", nTxDiff));
        ret.push_back(Pair("window_interval", nTimeDiff));
        if (nTimeDiff > 0) {
            ret.push_back(Pair("txrate", ((double)nTxDiff) / nTimeDiff));
        }
    }
    return ret;
}
UniValue savemempool(const JSONRPCRequest& request)