Add fake companion file (.fake.properties) (Fix #10993)

Logic for the fake file handling is largely copied from
the DeltavisionReader. To keep this simple, I haven't (yet)
tried to refactor any of that logic into FormatReader.

Properties set in the .fake.properties file override any of
the properties in the filename itself.
Fix isSingleFile breakage of ScreenDetectTest

ScreenReader requires that whatever detected subtype returns true
for isSingleFile(). By looking at DeltavisionReader, FakeReader
has hard-coded isSingleFile to false. Now we detect whether or
not a .properties file exists, and if yes, then we still return
false. Otherwise, we fall back to the previous logic of returning
true.
Migrate from .properties to .ini file

Required a few modifications to the Ini* classes
in order to have more Properties like handling.
Currently using the default header space (i.e.
no `[section]` header) for all values.
Remove reference to Vector
Null iniFile on close(fileOnly)
Suggested fixes from @melissa-linkert
Merge pull request #536 from joshmoore/10993-fake-companions

Add fake companion file (.fake.properties) (Fix #10993)