Fixed error with empty shell provisioner

`read` returns nil on empty files, so the call to `valid_encoding` fails.
Merge pull request #3423 from bmorg/fix_empty_shell_provisioner_error

provisioner/shell: error with empty shell provisioners