Make behavior of indexing with integer sequences and boolean arrays consistent (issue #300)

or maybe I could use numpy.unique to check if the array is sorted and does not contain duplicates at the same time, i.e.

    if not np.all(np.unique(ea) == ea):
        raise

This sorts the array so will be more expensive than your solution, but it avoids the extra check for duplicates using set.