Simplify the shell interface

The `__shellref` function is now used to invoke all commands.  Output
is annotated and referenced depending on the specific command line.
Unsupported commands are treated as plain text with one reference per
line.

`__shellref_git_status` is no longer available.  Equivalent
functionality can be accessed via `__shellref git status`.
Update the documentation

Usage information is added for input redirection.  Instructions for
setting up aliases to locate script dependencies are removed to
avoid potential problems in the future, since aliases aren't visible
by default in non-sourced shell scripts.  Some minor wording changes
are also included to improve clarity.
Move `git`-specific grammar rules for extensibility
Add support for `git stash` and `git` SHA-1 references

A `git_sha1` token is added to ref.pl for referencing full and
abbreviated SHA-1 hashes in `git` output.  Abbreviated hashes are
automatically converted to full hashes when referenced.

A new git-stash format is also added for parsing `git stash` output.

`__shellref` is also updated to support `git stash`.

The README file is updated to reflect these changes.