ENH: Sorting of ExtensionArrays
This enables {Series,DataFrame}.sort_values and {Series,DataFrame}.argsort. These are required for `factorize`, which is required for `groupby` (my end goal).

I haven't implemented `ExtensionArray.sort_values` yet because it hasn't become necessary. But I can if needed / desired.
