Move all ext_file file:// support to FileStreamWrapper

This removes one of the special cases for `file://`.This preserves the current behavior with respect to caching, but that should be revisited as it seems broken. In the meantime this fixes `file://` for most uses except it incorrectly allows relative `file://` access which will be addressed separately.

Fixes #1847.