Adds several cross-platform utility functions to the install.sh script and
rewrites core functionality so that it might work on Windows. Among these are:
- Correct platform extensions to match the output of `detect_platform`
- Check to make sure installation directory actually exists
- If sudo is not available, print a message asking the user to manually
escalate
- Unpack zip files (used for Windows builds) without using pipes, since zip
files cannot be read through pipes
After these changes, install.sh works on a testing copy of Git Bash on Windows,
though it still has known issues (e.g. if the `unzip` program is not installed,
it will crash).