Make TableList more convenient to work with

A few small tweaks to TableList to make it easier to work with; the `__repr__` now prints out all of the tables along with their ordered number, so you can access them like:

```
t = TableList(a=1,b=2,c=3)
t.items()[1]
```

(though this example would crash if you tried to `__repr__` since a table list has to contain Tables)