Implement version pinning fix for "yum" package method

Aleksey Tsaloli offered this fix for inoperative version pinning in the "yum"
package method in Mantis 800.
https://cfengine.com/bugtracker/view.php?id=739
https://cfengine.com/bugtracker/view.php?id=800
Remove bundle arg checking, this is now handled by a recursion in the expansion of promises in a later commit
Add recursive promise expansion for reporting and knowledge generation so that the model now fully expands promises that are called recursively
Whitespace
Correction of what seems to be a typo that led to some incorrect error messages when processing class expressions
Merge pull request #238 from markburgess/master

Some improvements in the cf-promiser parse checking of recursive bundles, that helps proper processing of the standard library
Merge pull request #237 from mvpel/mantis800

Implement version pinning fix for "yum" package method
Rename hardcoded handle names for hardcoded failsafe.cf file generation and internal promise creation.
Added package_verify_command to rpm_version body
Fix spelling and include link to new bug tracker
Fix cf-agent hanging in CfReadLine (issue #1384)

Using getline in place of fgets, as it is safer and because fgets cannot detect or handle corrupted
file data, such as NULL within a line. Implement checking for a NULL or corrupted file pointer. Also
adding unit tests that verify specific cases, such as an empty file or NULL file pointer are handled.
These tests can be customized to verify how CfReadLine will handle various forms of corrupted lines
within a file.

Squashed commit of the following:

commit da04acb1b376ac6893c2c7084cbc52c2fecff70d
Author: Shauna Thomas <shauna.thomas@cfengine.com>
Date:   Mon Nov 5 16:53:36 2012 +0100

    Removing test for return value of CfReadLine, passing in NULL file pointer.

commit 44a771377a7310004511f1f4acbe1267c0691da6
Author: Shauna Thomas <shauna.thomas@cfengine.com>
Date:   Mon Nov 5 16:41:01 2012 +0100

    Exit with FatalError when a NULL file pointer is passed into CfReadLine.

commit afa214a14d6d588da31963e2ca8600fc88777190
Author: Shauna Thomas <shauna.thomas@cfengine.com>
Date:   Mon Nov 5 15:33:23 2012 +0100

    revert change from fgets to getline, in response to recent comments: "getline is not portable enough"

commit 69f9fac30d357d5fde1b0dc7e09224c20259f697
Author: Shauna Thomas <shauna.thomas@cfengine.com>
Date:   Tue Oct 16 09:06:08 2012 +0200

    Issue 1384 - cf-agent hangs in call to fgets in function: CfReadLine.

    Using getline in place of fgets, as it is safer and because fgets cannot detect or handle corrupted
    file data, such as NULL within a line. Implement checking for a NULL or corrupted file pointer. Also
    adding unit tests that verify specific cases, such as an empty file or NULL file pointer are handled.
    These tests can be customized to verify how CfReadLine will handle various forms of corrupted lines
    within a file.
Not compiling an xml comparison function that is currently unused.

Removing unused function: XmlDocsEqualContent
Merge pull request #236 from shaunamarie/features-xml

Removing unused function: XmlDocsEqualContent
Removing a unit test that causes CFEngine to exit.
Merge pull request #239 from shaunamarie/bugfixes-files-bug1384

Removing a unit test that causes CFEngine to exit.
Update ChangeLog
Merge pull request #240 from maciejmrowiec/master

Update ChangeLog
Added AlpineLinux Flavour and Package Management (apk).
Fix iteration regression bug where embedded cf_null would not be skipped
Final changes to make apk work.