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.
+ mkdir t
+ cd t
+ hg init
+ hg id
unknown
+ echo a
+ hg add a
+ hg commit -m test -d '0 0'
+ hg co
+ hg identify
acb14030fe0a tip
++ hg -q tip
++ cut -d : -f 2
+ T=acb14030fe0a21b60322c440ad2d20cf7685a376
+ echo 'acb14030fe0a21b60322c440ad2d20cf7685a376 first'
+ cat .hgtags
acb14030fe0a21b60322c440ad2d20cf7685a376 first
+ hg add .hgtags
+ hg commit -m 'add tags' -d '0 0'
+ hg tags
tip 1:b9154636be938d3d431e75a7c906504a079bfe07
first 0:acb14030fe0a21b60322c440ad2d20cf7685a376
+ hg identify
b9154636be93 tip
+ echo bb
+ hg status
M a
+ hg identify
b9154636be93+ tip
+ hg co first
+ hg id
acb14030fe0a+ first
+ hg -v id
acb14030fe0a21b60322c440ad2d20cf7685a376+ first
+ hg status
M a
+ echo 1
+ hg add b
+ hg commit -m branch -d '0 0'
+ hg id
c8edf04160c7 tip
+ hg co -m 1
+ hg id
c8edf04160c7+b9154636be93+ tip
+ hg status
M .hgtags
M a