Refactor Frame API to use Cols/Rows.

This adds the new Rows/Cols abstraction for working with col/row extractors. Many methods on Frame change to use these instead, so it is very much a big breaking change.
My understanding is that `AxisSelection` represents a collection of cells (a column or a row), not holding a single cell. So how would we map a single cell without providing some sort of key or index?