Make default compatibility getusershell() paths configurable
Allow overriding the default shell paths returned by the compatibility getusershell function with new macros DROPBEAR_PATH_BSHELL and DROPBEAR_PATH_CSHELL. Default these to the values of _PATH_BSHELL and
_PATH_CSHELL if they are defined (generally in paths.h) or fall back to the original sane values if neither is set.
This fixes server login under Android (without having to add /etc/shells) and should provide flexibility for other systems missing getusershell with odd file system layouts. (While writing this up I realised this was one of the problems encountered in #176 but hadn't seen that issue previously).
I left the slightly ominous /* don't touch this list. */ comment in-place above the default list of shells as I wasn't quite sure of the significance, unless I'm mistaken the repository history doesn't go back far enough to shed light on it..?
Also considered moving DROPBEAR_PATH_BSHELL out of compat.h and using the value in common-session.c but decided to err on the side of caution. Happy to add that to this PR if you'd prefer though.