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
"  \"bip9_softforks\": {           (object) status of BIP9 softforks in progress\n"
            "     \"xxxx\" : {                 (string) name of the softfork\n"
            "        \"status\": \"xxxx\",       (string) one of \"defined\", \"started\", \"locked_in\", \"active\", \"failed\"\n"
            "        \"bit\": xx,              (numeric) the bit (0-28) in the block version field used to signal this softfork (only for \"started\" status)\n"
            "        \"startTime\": xx,        (numeric) the minimum median time past of a block at which the bit gains its meaning\n"
            "        \"timeout\": xx,          (numeric) the median time past of a block at which the deployment is considered failed if not yet locked in\n"
            "        \"since\": xx,            (numeric) height of the first block to which the status applies\n"
            "        \"statistics\": {         (object) numeric statistics about BIP9 signalling for a softfork (only for \"started\" status)\n"
            "           \"period\": xx,        (numeric) the length in blocks of the BIP9 signalling period \n"
            "           \"threshold\": xx,     (numeric) the number of blocks with the version bit set required to activate the feature \n"
            "           \"elapsed\": xx,       (numeric) the number of blocks elapsed since the beginning of the current period \n"
            "           \"count\": xx,         (numeric) the number of blocks with the version bit set in the current period \n"
            "           \"possible\": xx       (boolean) returns false if there are not enough blocks left in this period to pass activation threshold \n"
            "        }\n"
            "     }\n"
            "  }\n"
            "  \"warnings\" : \"...\",           (string) any network and blockchain warnings.\n"
            "}\n"
            "\nExamples:\n"
            + HelpExampleCli("getblockchaininfo", "")
            + HelpExampleRpc("getblockchaininfo", "")
        );
    LOCK(cs_main);
    UniValue obj(UniValue::VOBJ);
    obj.push_back(Pair("chain",                 Params().NetworkIDString()));
    obj.push_back(Pair("blocks",                (int)chainActive.Height()));
    obj.push_back(Pair("headers",               pindexBestHeader ? pindexBestHeader->nHeight : -1));
    obj.push_back(Pair("bestblockhash",         chainActive.Tip()->GetBlockHash().GetHex()));
    obj.push_back(Pair("difficulty",            (double)GetDifficulty()));
    obj.push_back(Pair("mediantime",            (int64_t)chainActive.Tip()->GetMedianTimePast()));