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
{
    AssertLockHeld(mempool.cs);
    info.push_back(Pair("size", (int)e.GetTxSize()));
    info.push_back(Pair("fee", ValueFromAmount(e.GetFee())));
    info.push_back(Pair("modifiedfee", ValueFromAmount(e.GetModifiedFee())));
    info.push_back(Pair("time", e.GetTime()));
    info.push_back(Pair("height", (int)e.GetHeight()));
    info.push_back(Pair("descendantcount", e.GetCountWithDescendants()));
    info.push_back(Pair("descendantsize", e.GetSizeWithDescendants()));
    info.push_back(Pair("descendantfees", e.GetModFeesWithDescendants()));
    info.push_back(Pair("ancestorcount", e.GetCountWithAncestors()));
    info.push_back(Pair("ancestorsize", e.GetSizeWithAncestors()));
    info.push_back(Pair("ancestorfees", e.GetModFeesWithAncestors()));
    info.push_back(Pair("wtxid", mempool.vTxHashes[e.vTxHashesIdx].first.ToString()));
    const CTransaction& tx = e.GetTx();
    std::set<std::string> setDepends;
    for (const CTxIn& txin : tx.vin)
    {
        if (mempool.exists(txin.prevout.hash))
            setDepends.insert(txin.prevout.hash.ToString());
    }
    UniValue depends(UniValue::VARR);
    for (const std::string& dep : setDepends)
    {
        depends.push_back(dep);
    }
    info.push_back(Pair("depends", depends));
}
UniValue mempoolToJSON(bool fVerbose)