Fix Gnus group sorting to use gnus-group-list

* lisp/gnus/gnus-group.el (gnus-group-sort-flat): As
  gnus-newsrc-hashtb is now a real (unsorted) hash table, use
  gnus-group-list to maintain group sort order.
  (gnus-group-sort-selected-flat): Ditto.
* lisp/gnus/gnus-start.el (gnus-subscribe-alphabetically): Simplify
  function using seq-find.
  (gnus-subscribe-killed, gnus-subscribe-zombies): Use cl-pushnew to
  avoid adding duplicates (can happen when un/subscribing multiple
  times to one group).
1 job for master in 55 minutes and 58 seconds (queued for 4 seconds)
Status Job ID Name Coverage
  Test
failed #1837
test-all

00:55:58

 
Name Stage Failure
failed
test-all Test
Makefile:318: recipe for target 'check-doit' failed
make[2]: *** [check-doit] Error 1
make[2]: Leaving directory '/builds/emacs/emacs/test'
Makefile:293: recipe for target 'check-expensive' failed
make[1]: *** [check-expensive] Error 2
make[1]: Leaving directory '/builds/emacs/emacs/test'
Makefile:957: recipe for target 'check-expensive' failed
make: *** [check-expensive] Error 2
ERROR: Job failed: exit code 1