Fix disconnect/connect stuff

I'm going to be 100% honest, I'm not entirely sure the logic here is
decent enough to be used in production.  Good thing this isn't a
production client right everyone?

... Right?

...

Yeah, well, anywho... This commit fixes the segfault.  It kind of makes
it more dangerous to use a DCPConnection already trying to connect to
connect to another different network, but I don't think anyone is going
to be doing that anyway (that's really retarded, at least imo).

tl;dr a DCPConnection is really a 1:1 mapping to a *single* connection.
If we ever support multiple connections, these objects should only ever
be reused for the same network.