Tidy representation when truncating dfs

This PR takes care of #5603

Dataframes are now truncated both horizontally and vertically. 

To do: 
* Write some additional tests
* Take care of edge cases, such as max_rows = 1 or max_cols = 0.