libfawk versioning scheme

Libfawk uses an unusual versioning scheme to make it easier to keep API version (FAWK_API_VER) in sync with libfawk version.

The version number consists three integer numbers separated by dots:

IMPL.API.PATCH

IMPL is the number of times libfawk got reimplemented or the existing implementation got a large refactoring. The API number must always be the same number as FAWK_API_VER. The PATCH number is increasing with minor fixes but is reset to 0 with any change in the IMPL or API numbers.

The initial version is 1.1.0 - first iteration, API version 1, no patch. If the next release patches bugs and extends documentation but does not change the API, it will be 1.1.1. If it changes API, it will be 1.2.0.

The API part can not decrease and is never reset. If there is a version 1.5.2 and a full rewrite happens, keepig the same API, it will be 2.5.0; if the full rewrite also makes API changes, the new version is 2.6.0.

All in all, looking at the middle number in libfawk version will always tell the API version that is accessible from both C and fawk scripts.