Implements nested rows

Closes #70 

This implements the nested rows feature by using a tree data structure behind the table view.  Instead of relying upon all of the row calculation logic to exist in the various methods of the table view delegate, it's now part of the model view.  I've removed a bunch of duplicate code in the tableview controller class, created constants, and simplified the rendering process.

This PR does NOT include styling changes necessary to indicate a row being tappable for expansion.  This PR simply provides the framework for nested rows and removed complication on rendering said data.

cc: @aerych @jleandroperez for reviews since you guys are `UITableView` nerds.
Yeah I was on the fence about using a constant here since the value is really only ever used once per cell.  The value is somewhat arbitrary since there are 7-8 `UITableViewCell` instances in the Storyboard and multiple subviews in each.  I was trying to get around having to create cell subclasses simply for access to the views but I think it's an eventuality when I get to the styling stage.