- can use 'XX.empty()' instead of 'XX.size() == 0', 'XX.size() < 1' or
'XX.size() <= 0' or for simpler coding.
It also has the same number of characters as '!XX.size()' and /might/ be
more readable
- many size checking had 'XX.size() > 0', 'XX.size() != 0', or 'XX.size() >= 1'
when a simple 'XX.size()' suffices
- if mandatory is true, findEtcFile() will abort with a message (via cerr).
This allows a non-existent file to be caught at the lowest level and avoid
error handling in IFstream, which might not be initialized at that stage.