Separate FileStreamWrapper and PlainStreamWrapper to better support file:://

This makes file:// no longer a special case in ext_file, while increasing support.  It also handles file:// disallowing relative paths (i.e. hostless URLs).