[[ Bug 12558 ]] Ensure 7.0 stackfiles report as new versions not corrupt

Note this required a change in the IDE too for stacks opened by dragging onto the app icon in the dock.
I think it would be better if this was dynamic...
So the header is either the old (fixed style #! ...) - or it is the style 'REVOxyzw'. If it is the latter then it should parse out the four version numbers from the digit suffix.
Since this is designed to be 'future-proof' in the sense that 6.7 should be able to work out at least what version any stackfile with this header format should be we'll need to fix interpretation of chars > digits in the header.
I suggest:

0-9 -> 0-9
A-Z -> 10-35
a-z -> 36-61

This at least gives us up to 61 values in each place (which is probably more than we'll ever need!).

We'll probably also need to change the strcmp() after the 'readheader()' call in doreadfile() since that won't compare strings correctly version-wise. (7.0 already converts the version to a number to compare, so that's not an issue; also note that it is only the strcmp() immediately after readhead() which needs updated because if a fileversion passes that check as being conformant to 6.7 readability, then the strcmps() the engine does subsequently will be fine).