Adds prototype NG driver apis

Includes an IPC system for out-of-process drivers so users won't have to recompile the registry to bring their own drivers. Also, drivers can potentially be written in any language with a functioning [libchan](https://github.com/docker/libchan) implementation.
It's better to get rid of index:
```go
keys := make([]string, 0, len(keySet))
for k := range keySet {
    keys = append(keys, key)
}
```