Make Data.List.Inits fast

Fixes #9345. Use a modified banker's queue to achieve amortized optimal
performance for inits. The previous implementation was extremely slow.

Reviewed By: nomeata, ekmett, austin

Differential Revision: https://phabricator.haskell.org/D329
Make tails a good producer (#9670)

Reviewed By: nomeata, austin
Differential Revision: https://phabricator.haskell.org/D325