Add forcedel

If the install fails (or partly succeeds), passing the "forcedel" argument undoes any changes, so the script can start over cleanly.

Also misc fixes: better dash compatibility, put the variable checks at top for clarity, and an extra variable.

Closes #3