Fix broken variables tree iteration.

This fixes whole number of problems with iterating through RB tree
containing variables. Especially:
https://dev.cfengine.com/issues/6033
https://dev.cfengine.com/issues/6779

EvalContextVariableTableIteratorNew is calling VariableTableIteratorNew
which is not aware of variable indexes (VarRef->indices). Then while picking
value form tree to be iterator it might or might not contain indexes.
Randomly selecting variable with wrong index (and number of indexes)
is causing wrong behavior while iterating through list of variables.
VariableTableIteratorNext is checking indexes and returning variables
based on VariableTableIterator selected previously by
EvalContextVariableTableIteratorNew which is totally unreliable in case
of arrays.
Fixing arrays hashing.

To avoid having the same hashes for variables like a[10] and a1[0]
array boundary hash moved above index hashing.
Fix relaying on order of keys returned by maparray.
Test case testing multi-index array hashing updated.

Now cases like a[10] and a1[0] covered while checking if hashing is
working accurately.
Fix test relying on ordering of array elements returning by mergedata.

This one is simple change of expected strings. We can think how to modify
this test in future to sort the merged array elements before comparing.
Fix fakeroot messing up a test by moving it to the unsafe area.

Fakeroot's file magic somehow interferes with the backgrounded
promises which in turn leads to stale processes lingering after the
test has finished.
readfile and textxform functions do not rely on 4k limit anymore
Added text_xform tests for large sizes
CF_INFINITY is not a limit for buffer size, it's just an indication that policy has the parameter 'inf'.
Comment for clarity.
A couple of TODOs.
metadata for story id 5525 and 5526 (user present and absent)

Modified by: Kristian Amlie <kristian.amlie@cfengine.com>
Merge pull request #2035 from pasinskim/redmine_6779

Fix broken variables tree iteration.
Merge pull request #2036 from pasinskim/redmine_6674

Fixing arrays hashing.
support dry-run for mustache templates. Redmine #6739
tag mustace acceptance tests with story_id 5535
Merge branch 'redmine_6739'
cf_popen() generates an error message on distributions where ifconfig cannot be found during IPv6 discovery, affects RHEL 7
cf_popen() generates an error message on distributions where netstat et al cannot be found during monitoring probing, affects RHEL 7
Revert "Fix fakeroot messing up a test by moving it to the unsafe area."

This reverts commit 1b9a58d50783e46e3a46790de76beff3a9a6b7b7.

Still doesn't work correctly, will disable the test instead.