Fixed error with empty shell provisioner

`read` returns nil on empty files, so the call to `valid_encoding` fails.
core: can't add boxes from network shares [GH-3279]
Merge pull request #3423 from bmorg/fix_empty_shell_provisioner_error

provisioner/shell: error with empty shell provisioners
Update CHANGELOG
website/docs: clarify docker