fontinfo.plist import/export v4. update for PR 228

The core of this PR is to bring in the fontinfo.plist file when importing a master. This was the task outlined in the milestone document.

As it is still open as to what to do with the fontinfo.plist for instances created between one or more masters nothing is done along those lines yet. Discussion will have to happen to determine the best action for metapolating or interpolating the fontinfo.plist metadata. Some hints may be taken from other tools which already do such handling of fontinfo.plist but implementing that is for a subsequent PR to this one.

This PR is another freshening from the last link in the chain ending at https://github.com/metapolator/metapolator/pull/228. It was commented there that the code should be rebased rather than using a merge construct. I have done this here. The PR 228 had not been commented on for 24 days though was not merged. I hope this means that the code itself is now acceptable and with this rebase might finally be considered for merging.

This code has been reviewed many times since the 3rd of October when I originally proposed it (https://github.com/metapolator/metapolator/pull/197).

Some of the timeline for this code modification:
https://github.com/metapolator/metapolator/pull/228
https://github.com/metapolator/metapolator/pull/215
https://github.com/metapolator/metapolator/pull/197

If somebody is willing to give the nod to merge these changes then please advise first so I can perform some testing on the code as it stands prior to merge. 
So ProjectMaster._customDataDir should then become public too I guess. Though at this stage of init on MetapolatorProject, we might not have a ProjectMaster instance to use to get at pm.customDataDir anyway? Perhaps that mkdir should be delayed until a master is created.

It also then opens up the sticky situation that there is an implicit reliance on parent(parent(customDataDir)) existing. There might be something semantically equivalent to  _io.mkdir( path, '-p' ); in the code. It seems that io.mkdir only takes the path.