This change allows sourcing emsdk_env.sh from bash, zsh and
ksh.
The script works out the true location of the emsdk directory,
even if it is a symlink or the script itself is a symlink.
Added a test in scripts/test_source_env.sh to try sourcing via
all the shells and with various paths.
Co-authored-by: Bob Tolbert <bob@tolbert.org>
It was working previously by accident because the tests were
using the defaults such as `$HOME/.emscripten`. However usage of the
emsdk should really only happen in the emsdk environment where
EM_CONFIG dictates the config location (not just using the default).
This change is needed as precursor to making `--embedded` the default
(in this case the config doesn't live in `$HOME/.emscripten`).