Add tags, 'list-saved' and 'restore-%' goals

Now 'save' target adds a consequent numeric tag for each commit.

New command 'list-saved' shows all available tags

New goal 'restore-%' checks out the tag (e.g. "8" for "restore-8")
and resets the master branch to the current position
Before doing this, it saves the work if any changes are detected