Allow targets to switch the shell's directory

Adds a new feature. If a target points to a directory, a new wrapper
shell function will change into that directory. Otherwise, the program
will behave as normal.

This commit adds this functionality, as well as adds documentation for
this feature.
Fix typos, mostly inter-word and sentence spacing