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.
With the refactor that's a lot of fall through. Would an `if` block be cleaner?