metarestore: Improve automatic recovery

Before this commit mfsmetarestore -a was not always very safe. Consider
the following scenario:
* Run both the master server and a metalogger on the machine and use it
* Stop the metalogger
* Use the filesystem for one year
* Stop the master server (mfsmaster stop)
* Run mfsmetarestore -a. It will recover metadata from one year ago and
  overwrite your metadata.mfs

mfsmetarestore -a will now try to find the best metadata file, which
will be used to apply all the found changelogs. It will never overwrite
newer metadata with any older version. After such a change
calling mfsmetarestore -a should always be safe and also should be the
best choice if one wants to recover the filesystem's metadata.
tests: Add a test of mfsmetarestore -a

This test verifies if the call 'mfsmetarestore -a' generates a valid
metadata file in many possible cases, eg. when metalogger's data is
newer than the master's data, or otherwise.