Rewrote streams in the memory host.
- Separate client stream and server stream.
- Simplified the logic between the 2 streams.
- Re-implemented async read more efficiently.
Fixed fxcop errors
- Removed unused classes
- Made classes internal.
Fixed issues with ClientStream.
- Take sync reads into account by marking anything consumed from the
  memory stream as read.
Optimized async flush in ServerStream.