addset: fix `first` and `last` on sorted addset (issue4426)

The lazy sorting were not enforced on addset. This was made visible through MQ.

--HG--
branch : stable
mq: do not call [0] on revset

The __getitem__ method have been removed. The "first" method is to be used
instead. Test have been extended to test this code path.

--HG--
branch : stable