Interfaces

# Interfaces

## Overview

This is actually a fairly simple change. The client library is impossible to mock right now so I changed `Client` and `Table` to be interfaces instead of structs. The actual struct implementation is now `*client` and `*table`.

## API Changes

The only API differences that are backward incompatible are:

1. You now need to remove the asterisk from `*Client` and `*Table`.

2. `Table.Name` is now `Table.Name()`.


/cc: @boourns @orenmazor @snormore