Move commands.forget over to using new walk code.
With no names, it now recursively forgets everything, as is the default
behaviour of other commands. And prints the names of all files it
hasn't specifically been told to forget.
+ hg init
+ echo a
+ hg add a
+ hg commit -m test -d '0 0'
+ hg history
changeset: 0:acb14030fe0a
tag: tip
user: test
date: Thu Jan 1 00:00:00 1970
summary: test
+ hg tag -d '0 0' bleah
+ hg history
changeset: 1:863197ef0378
tag: tip
user: test
date: Thu Jan 1 00:00:00 1970
summary: Added tag bleah for changeset acb14030fe0a21b60322c440ad2d20cf7685a376
changeset: 0:acb14030fe0a
tag: bleah
user: test
date: Thu Jan 1 00:00:00 1970
summary: test
+ echo foo
+ hg tag -d '0 0' bleah2
abort: working copy of .hgtags is changed!
(please commit .hgtags manually)
+ echo failed
failed