Changed from using seperate tables to using nulls for different api clients.

* Used to enforce that an api client is exactly one type of api client.
Started migrating user class to use api client
Added basic api client structure