simplify broadcast using AxisCollection
simplify __add__
* move headersep handling to read_csv (instead of df_aslarray)
  it is much cleaner this way and should also be faster as we do not uselessly index the combined labels
* changed the way to get a "cartesian_product" from a dataframe (and made a function for it)
* labels are now always sorted. This is much easier and faster this way (we can use from_product and index.levels directly)
* df_aslarray passes kwargs through to reindex
* sorting columns (time axis) is done at the same time as the other reindex to improve performance