### Peer is still banned, allthough ban endtime has been reached

Here the log line of the banned peer:

`2017-11-04 16:12:03 Misbehaving: 212.203.47.xxx:61681 peer=56085 (0 -> 100) BAN THRESHOLD EXCEEDED`

In the debug connection window, the peer shows up as banned, with the ban endtime of 2017-11-05 17:12:03 CET, see screenshot (marked blue peer).

Then today, 2017-11-05 around 10 o clock CET, I stopped bitcoind 0.15.0.1, replaced the binaries with 0.15.1rc1 and started bitcoind again.

Now, as the time of the screenshot is 17:40 CET, the ban endtime had been reached, but the peer does still show up as banned.

Edit: Situation unchanged at 20:46 CET.

### Expected behaviour
Peer disappears from the "Banned peers" list, when ban endtime has been reached.

### Actual behaviour
Peer does not disappear from the "Banned peers" list, allthough ban endtime has been reached and exceeded.

### Screenshots.
![bildschirmfoto](https://user-images.githubusercontent.com/8447873/32416947-f2e0129a-c251-11e7-9c92-528f0ff3ae5d.png)

### What version of bitcoin-core are you using?
0.15.0.1 / 0.15.1rc1

### Machine specs:
Linux amd64

else 
            connected = ConnectSocketDirectly(addrConnect, hSocket, nConnectTimeout);
        if (!proxyConnectionFailed) {
            
            
            addrman.Attempt(addrConnect, fCountFailure);
        }
    } else if (pszDest && GetNameProxy(proxy)) {
        std::string host;
        int port = default_port;
        SplitHostPort(std::string(pszDest), port, host);
        connected = ConnectThroughProxy(proxy, host, port, hSocket, nConnectTimeout, nullptr);
    }
    if (connected) {
        if (!IsSelectableSocket(hSocket)) {
            LogPrintf("Cannot create connection: non-selectable socket created (fd >= FD_SETSIZE ?)\n");
            CloseSocket(hSocket);
            return nullptr;
        }
        
        NodeId id = GetNewNodeId();
        uint64_t nonce = GetDeterministicRandomizer(RANDOMIZER_ID_LOCALHOSTNONCE).Write(id).Finalize();
        CAddress addr_bind = GetBindAddress(hSocket);
        CNode* pnode = new CNode(id, nLocalServices, GetBestHeight(), hSocket, addrConnect, CalculateKeyedNetGroup(addrConnect), nonce, addr_bind, pszDest ? pszDest : "", false);
        pnode->AddRef();
        return pnode;
    }
    return nullptr;
}
void CConnman::DumpBanlist()