Remove duplicate code

Place shared code in base class with parameters.
Dispose memory stream
Implement IDisposable on SocketInfo
Rename SocketInfo to SocketWrapper
A bit of cleanup
"Properly" implement Dispose()
Implement IDisposable
Implement IDisposable
Dispose of disposable components
Remove ToString()
Implement IDispose
Minor documentation change
Suppress garbage collection after disposing
Moved disposed flag to volatile private member
Some dispose improvements
Properly implemented dispose functionality
Implement dispose functionality
Warning about unsafe command construction
Corrected GC finalize suppression
Structure for read-only ID collection