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.
It dawned on me this probably just a variation of `map` that maps all cells in the selection. Should we change this to `mapCells` ?