install.sh: bugfix: -B was broken if install.sh needed to relaunch
install.sh: bugfix: -B was broken if install.sh needed to relaunch

Options were shifted out too early, so they would be forgotten
about if the shell used to invoke install.sh was too buggy and a
relaunch to a POSIX-compliant shell was done.

install.sh:
- Move shifting out options as well as -B and -D validation from
  pre-modernish inititalisation to main program.
- Rewrite these in modernish, cutting their size by half :)
- Rename usage() to showusage() so it can be used by 'exit -u'.
- Now that we can use 'readlink -m' to canonicalise the destdir
  (-D), don't create it explicitly; let install_file() handle it.

modernish/modernish