Simplified the abstractions to remotedb, a package that
allows clients to use whatever database they can in client
code without having to switch out their code e.g
```go
client, err := remotedb.NewInsecure(":9888")
...
// Just like they'd initialize locally
in := &remotedb.Init{
Name: "test-remote-db",
Type: "leveldb",
Dir: "/tmp/dbs",
}
if err := client.InitRemote(in); err != nil {
log.Fatalf("Failed to initialize the database")
}
v1 := client.Get(k1)
client.Set(k9, dog)
for itr := client.Iterator(a1, z1); itr.Valid(); itr.Next() {
k, v := itr.Key(), itr.Value()
dom := itr.Domain()
...
}
```