Fix PID file deleting on manual command

When the command script is invoked manually, the command file name may
be a relative path, so save/restore the command's working dir to make
sure that the trap cleanup can find the PID file to delete it.

Also swallow any errors (or any output at all) from the kill that is
intended for the server process.  When the command script is not a
daemon, that server process will be taken down just as part of killing
the command script.

Removed a few unnecessary brackets for variable expansions while I was
in there.