Created VirtualHandle

Moved the FakeFormat-specific Handle nested class to a new VirtualHandle
class. This handle does not require a file to exist on disk and thus can
be used for creating RandomAccessInputStreams for any arbitrary file
name.
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.
Merge branch 'virtual-handle'

Factors out the FakeFormat Handle subclass to a VirtualHandle that is now
created for any Format when opening a file that doesn't exist on disk.

Note that Parsing/Reading will fail if the Format's components attempt to
actually read from this handle.

This is an intermittent stopgap to allow for Formats that don't require data on
disk (e.g. OMEROFormat). The issue will be addressed more thoroughly in the
future.