Removal of hard-coded mappings of TTTableItems to TTTableViewCells

I've made the following changes to make it easier to create new TTTableItem subclasses and/or TTTableViewCell subclasses:

TTTableViewDataSource now delegates to each TTTableItem to determine what type of TTTableViewCell to create or dequeue instead of the hard-coded associations in TTTableViewDataSource:tableView:cellClassForObject:. This means that TTTableViewDataSource does not have to be subclassed to add new hard-coded mappings in tableView:cellClassForObject: when you want to add a new type of TTTableItem.

Delegation to TTTableItem also opens up the possibility of dynamically creating different associated TTTableViewCells based on TTTableItem properties.

Note that non-TTTableItem-derived list items are still handled as a special case.