Improved detection of available shell in container

docker-enter tried to open the same shell inside the container as on
the host, which failed if the container did not *have* that shell.

Additionally, (environment) variables of the host were also present in
the nsenter session.

This change;
1. Checks if a command was given as parameter
2. If no command, check if ‘bash’ is present inside the container
3. Otherwise use ‘sh’ as shell

As discussed here; https://github.com/jpetazzo/nsenter/issues/5
Compatibility improvements

Added various improvements as suggested by @JessThrysoee

- Use 'type' instead of 'which'
- Added OPTS var to reduce duplicated code
- Use 'exec -cl bash' for a 'clean' bash shell
- Added HOME=/root for 'sh' shell
Properly set up environment

More awesomeness by @JessThrysoee

Now using su to;
- Automatically log in to the default shell of the container
- Set up the right environment variables (e.g. $PATH, $HOME)
- No longer requiring to *detect* the default shell
Prevent TERM from being cleared

- Don’t clear TERM environment-variable when using su.
- Updated usage description
Merge pull request #15 from thaJeztah/5-use-container-shell

Improved detection of available shell in container (fixes #5)