Expand this.promiser for some attributes in files promises.

Supported are attributes in body classes and log-attributes in
body action, as well as the previously supported transformer.

Addresses the highest priority items left in Redmine #1554.
Expand this.promiser in file_select exec-attributes

ReplaceStr turns out to be broken. Use SearchAndReplace instead,
with dynamic memory allocation.

Redmine #3530.

Additional improvements in test case.
Merge pull request #1826 from vohi/redmine/1554

Expand this.promiser for some attributes in files promises.