Add support for FreeBSD next generation package manager
Refactor FreeBSD package providers
Refactor resolving of Freebsd package provider
Don't eat the authentication failed exception on bootstrap
Access source instance variable directly when setting provider
CHEF-5015 force_unlink should only unlink if the file exists
[CHEF-5163] Support lazy evaluation the mount resource's options attr

set_or_return calls #call on any DelayedEvaluator on read and compares
the results against the parameter validations.  This patch adds String
to the evaluation but ensure that someone reading the options value
will only ever get an Array, keeping the original contract.
[CHEF-5163] Add tests for delayed evalutors in mount options
add func tests for CHEF-5015
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.