bookmark: do not crash when active bookmark is forward and --date is used
The logic that decides where to update according to the active bookmark
location (when not on ".") was setting the rev to update to before we process
--date. This lead to --date processing aborting because of duplicated
specification.
We reorder the two pieces of code and add a test for this.
$ hg init
$ echo a > a
$ hg ci -Am t
adding a
$ hg mv a b
$ hg ci -Am t1
$ hg debugrename b
b renamed from a:b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3
$ hg mv b a
$ hg ci -Am t2
$ hg debugrename a
a renamed from b:37d9b5d994eab34eda9c16b195ace52c7b129980
$ hg debugrename --rev 1 b
b renamed from a:b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3