Updated package names, added IAsyncResult, updated Stream async design pattern

Package names now include the "System" level

IAsyncResult partially implemented

Stream async pattern updated to use IAsyncResult design pattern (well
mostly)

Renamed StreamOperationResult to StreamOperationAsyncResult to following
IAsyncResult naming conventions.

Removed now unused interface IAsyncStreamOperationResult