Preserve argument order to (==)/eq in nub and nubBy

Authored by thomie on Nov 7 2014, 10:38 AM.

Description

Preserve argument order to (==)/eq in nub and nubBy

This makes nub and nubBy behave as specified in the Haskell 98 Report.

This reverts 0ad9def53842e86fb292eccb810190711c42d7c5, and
fixes Trac #3280, Trac #7913 and Trac #2528 (properly).

Before this change, the output of T2528 was (4x wrong):

[A,B]
[1,2]
False
False

Reviewed By: dfeuer, ekmett, austin, hvr

Differential Revision: https://phabricator.haskell.org/D238