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
if (request.fHelp || request.params.size() != 1)
        throw std::runtime_error(
            "invalidateblock \"blockhash\"\n"
            "\nPermanently marks a block as invalid, as if it violated a consensus rule.\n"
            "\nArguments:\n"
            "1. \"blockhash\"   (string, required) the hash of the block to mark as invalid\n"
            "\nResult:\n"
            "\nExamples:\n"
            + HelpExampleCli("invalidateblock", "\"blockhash\"")
            + HelpExampleRpc("invalidateblock", "\"blockhash\"")
        );
    std::string strHash = request.params[0].get_str();
    uint256 hash(uint256S(strHash));
    CValidationState state;
    {
        LOCK(cs_main);
        if (mapBlockIndex.count(hash) == 0)
            throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Block not found");
        CBlockIndex* pblockindex = mapBlockIndex[hash];
        InvalidateBlock(state, Params(), pblockindex);
    }
    if (state.IsValid()) {
        ActivateBestChain(state, Params());
    }
    if (!state.IsValid()) {
        throw JSONRPCError(RPC_DATABASE_ERROR, state.GetRejectReason());
    }
    return NullUniValue;
}
UniValue reconsiderblock(const JSONRPCRequest& request)