Fixed bug in Prepare-Payload

* Some payloads were not decoding properly after being uncompressed.
This was due to a bug in how `Get-Content -Encoding ASCII` was
interpreting input. When reading a script from a file, Prepare-payload
no longer makes any assumptions about the script's encoding.

* Prepare-Payload will display a warning if the cmd.exe or base64 string
length maximums are exceeded.