Add ability to stream (and indent) command output
Refactor for simplicity, make the resource a stream
so that it is guaranteed to stick together or at
least not get anything else appended to it
Synchronize so that simultaneous prints do not
cross each other and mess up lines
Print prefix to distinguish separate streams of output
Fix unit test
Move output stream to its own class file
Make indentable print() function more intelligible
Allow command output to be indented in doc formatter
CHEF-1910: change to 'knife node environment set' to match existing patterns
CHEF-1910: UPPER_DOCS updates
[CHEF-5162] Support DelayedEvaluator for remote_file's source attribute

This commit adds the ability to pass a single DelayedEvaluator to the
source attribute of the remote_file resource.  If more than one
DelayedEvalutor is passed, an error will be raised.

The source attribute now accepts:

- A single string argument,
- Multiple string arguments
- A single array argument
- A single delayed evaluator argument

Technically, it also accepts

- An array of arrays

but this case is not tested.
[CHEF-5162] Move argument parsing for source to new method
CHEF-5162: changelog update