compare frozensets as Basic objects

It was wrongly being assumed that if a frozenset was encountered that
it was equal to the other frozen set. This caused arbitrary sorting
of args like Min(1,x) and Min(2,x) since they are both the same function
with a single frozenset argument...but the (1,x) should be less than the
(2,x). So rather than returning 0, the args of the frozenset(s) are
compared.
Merge pull request #7727 from smichr/compare

compare frozensets as Basic objects (re-addresses #958)