Continued with stream wrappers

Created basic wrappers for public and private streams which will handle user uploads.
Created basic wrapper for tmp files, this will become a special wrapper that has no external URLs.\
Various changes to the existing stream wrapper code.