Ignore subnegotiation.
Added World skeleton, fixed asyncs in Telnet implementation.

* CancellationToken doesn't work on ReadAsync/WriteAsync. Welp. Nuked
  the tokens from all the Read/Write methods.
* Split RemoteClient.Loop into 3 concurrent tasks that do the thing it
  tried to do much better: inactive connection reaper, intro with the
  negotiation wait and the actual read loop.
* Added some Task.Run calls to make sure we're in the pool.
* Removed the stupid spin loops that ate all the CPU. That was dumb.