Allow users to pass an index_path or array of index_paths to update_table_data.

When this is passed, it won't update the entire table data, but just the cell or cells that correspond to the index_path(s) passed.

Don't merge now. Just opening for discussion. Needs tests too.
Maybe:

```ruby
def array_all_members_of?(arr, klass)
  arr.select{ |e| e.is_a?(klass) }.length == arr.length
end
```
This would have the added benefit of returning `true` if given an empty array. But not a lot better, really, just a different way.