ENH: Moved handling of values_labels in dataset.py

values_labels got two different types due to pandas way
of handling indexes, if it's of Index type a list of string is return
and if it's Multindex a list of tuples is return. This behavior
require two different ways of iterating through the index to get
values_labels for Index(list) iterating over it will straight way give
you the label but for Multindex(tuple) you're iterating over a list of
tuple then getting the last element of the tuple will give you the label.
Currently this mumbo jumbo is handle in excel.py, to make excel.py cleaner
I move it to dataset.py which where all pandas access is happening.