Add quoting, remove backticks, use $PWD

All variable expansions which may be strings get quotes. Even if we "know" they
have no spaces (like `$sigil`). We still don't fully support spaces, but this
is a bit better.

`$( )` is [POSIX][1]. It's more consistent and easier to nest than backticks.

`$PWD` is [POSIX][2] and is preferred over invoking a separate program.

I wanted to make these fixes while they were on my mind, but I won't be able to
do reasonable testing for a bit. Feel free to let this sit until I (or someone)
can report back that I didn't typo something or unintentionally change
behavior.

[1]: http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_03
[2]: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08)