Support file::// by pulling plain file support from FileStreamWrapper

… into `PlainStreamWrapper`.

The expands `file://` support while removing a special case.  It also disallows relative  `file://`
paths (i.e. hostless URLs).

Fixes #1847.