#699 Use cell registration instead of inline cell creation where possible

** There is still more to do for this, but I wanted to get the PR rolling for feedback **

A fair chunk of low risk refactoring was also performed around the cell changes.

The goal is to use UITableView cell registration where appropriate, and remove the dequeue-check-create-configure pattern (to use dequeue-configure instead).