set $ENV{SHELL} if it's missing

In the rare case when $ENV{SHELL} is not set, perlbrew currently prints out:
> /opt/perlbrew/etc/bashrc: line 43: setenv: command not found.
> Use of uninitialized value in pattern match (m//) at /loader/0x23ff038/App/perlbrew.pm line 34.

This patch assumes that the parent process is a shell and sets $ENV{SHELL} to the path of it's executable.