With real shell detection on POSIX implemented, the subshell now defaults to match parent shell, instead of login shell. This would help reduce surprising behaviour such as #1762.
I tested the code on Windows and Ubuntu (WSL) in both fancy and compat mode, and am fairly confident this implementation is reasonably complete. It would probably still be a good idea to rigorously test this manually on various platforms before releasing it to the public.
This also fixes #915 (a bug in Pew).