Make -tableView:heightForRowAtIndexPath: faster and linear in time

Mostly an implementation of DwightEverhart sample code (https://github.com/square/objc-TimesSquare/issues/6#issuecomment-13690845).