tigrc(5): rework the keybinding section

Rearranges the subsections for the bind command, adds the stash view and
documents the internal commands.
User-defined commands no longer need to be prefixed with '!'

The exclamation point is implied when '@', '?', or '<' are specified.
Make the prompt for user-defined commands tell when Tig will exit
Make digit counting reusable
Fix stash diff display after deleting a stash

Refer to stashes internally by their commit ID instead of their symbolic
name (i.e. stash@{%d}) so that the stash diff updates correctly after
calling `git stash drop $stash`. The issue can be reproduced by deleting
one of the first N-1 stash and pressing Enter after the reload. The bug
is caused by the commit->id, which are used in determining whether to
refresh the diff view or not, does not change when the modified stash
list is reloaded.