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.