Converts a non-seekable stream into a System.IO.MemoryStream.
            A MemoryStream's position can be moved arbitrarily
            
 Parameters
 Parameters- input (Stream)
- The stream to be converted
 Return Value
 Return ValueA seekable MemoryStream
 Remarks
 RemarksMemoryStreams use byte arrays as their backing store.
            Please use this judicially as it is likely that a very large
            stream will cause system resources to be used up.