LocationService: return VirtualHandle

If a file is not found on disk during a getHandle call, a VirtualHandle
will now be created and returned.

This will allow all SCIFIO components to potentially operate on
non-existant files, although in most cases they will still fail when
trying to read and produce Metadata.