refactor libomf
refactor libomf
Fixes Issue 9727 - Unittest comment should appear before example.
Fixes Issue 9755 - Json template protection attribute output was wrong.
Merge pull request #1768 from AndrejMitrovic/Fix9755

Issue 9755 - Json template protection attribute output is wrong.
Merge pull request #1765 from AndrejMitrovic/Fix9727

Issue 9727 - Unittest comment should appear before example.
fix Issue 9713 - Ddoc: Empty description suppress automatic example generation

Even if proper description is empty, generated examples should be appeared
fix Issue 9714 - Ddoc: Combination of -D and -unittest reveals hidden unittest function

Even if -unittest is specified, hidden function should not be appeared in ddoc output
Refinement for #1641

- Reuse unindent mechanism that has introduced by #1377
- Remove trailing whitespace from auto-generated ddoc example
fix Issue 9757 - Ddoc: documented unittest after ditto should work
Merge pull request #1746 from 9rnsr/fix_ddoc

Issue 9713 & 9714 - Ddoc bug fixes
Fixes Issue 9758 - Emit documented unittest block even if unittest body is empty.
add missing print api to stub version of struct code
Merge pull request #1770 from AndrejMitrovic/Fix9758

Issue 9758 - Emit documented unittest block even if unittest body is empty
fix test case for bug 9713
Merge pull request #1769 from 9rnsr/fix_ddoc

fix test case for bug 9713
remove dead got related code
Merge pull request #1774 from braddr/cleanup-got

remove dead got related code
Merge pull request #1772 from braddr/fix-stub

add missing print api to stub version of struct code
Include -devel-HASH(-dirty) in the version string

When not compiled with `make RELEASE=1`, the version string will include
a suffix with the exact version information based on the git hash. Also,
if the current working tree is dirty (it have uncommitted changed) an
extra suffix will be added (-dirty).

When using `make RELEASE=1` only the version information present in the
VERSION file will be used.