struct can control table name

created an interface that if a struct implements it, it can set the table name

I think this is pretty non-invasive and is highly useful if you have some some tables where the table name is dynamically chosen but the table structure is known.  For example (postgres)

```
create table foo (...);
create table foo_123456 like foo;
```
if you want then to use a `struct foo {...}` in your program, you need this type of approach.

hope it helps,
ian