[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.