* Remove xdg-open hardcoded path in impl.clojure.java.browse
Binaries in Linux are not guarantee to be located on /usr/bin.
For example, NixOS the binaries are located in
/run/current-system/sw/bin/xdg-open (that is actually just a symlink to
/nix/store). The distro may also not have xdg-open installed at /,
instead the user may put it somewhere else like $HOME/bin.
This commit fixes this by using not hardcoding the PATH of xdg-open,
instead relying on shell path to search it.
* Implement clojure.java.browse/*open-url-script*
This allows usage of a custom URL script, like:
```clojure
(binding [*open-url-script* (atom "my-browse-url-script")]
(browse-url "https://google.com"))
```
*open-url-script* is an atom just to keep compatibility with Clojure.
Described here: https://clojuredocs.org/clojure.java.browse/*open-url-script*
* Add checksum to install script
This will allow someone to check if Babashka is correctly downloaded,
e.g.:
```
$ ./install --dir /tmp --checksum 3cb19f158b9f1655e0165b6c4067d35faaa05882bbdb230616c91085b02b5bf4
Downloading https://github.com/babashka/babashka/releases/download/v0.4.1/babashka-0.4.1-linux-amd64.tar.gz to /tmp
Failed checksum on babashka-0.4.1-linux-amd64.tar.gz
Got: 3cb19f158b9f1655e0165b6c4067d35faaa05882bbdb230616c91085b02b5bf3
Expected: 3cb19f158b9f1655e0165b6c4067d35faaa05882bbdb230616c91085b02b5bf4
```
There is no check by default. This makes this change backwards
compatible (e.g.: if the machine doesn't have sha256sum, this change
will not break installation).
* Add --static to install script
This will allow installation of static instead of dynamically binaries
on Linux.
* Add checksum to print_help
* Add check that --checksum and --options should be provided together