Add Watch Expression Command

Usage: watch [EXPRESSION]
       watch
       watch --delete [INDEX]

Evaluate an expression after every command and display it when its value
changes.

    -d, --delete      Delete the watch expression with the given index. If
                      no index is given; clear all watch expressions.
    -l, --list        Show all current watch expressions and their values.
                      Calling watch with no expressions or options will
                      also show the watch expressions.

The watch command will use Pry's command `state` to keep track of watched
expressions.