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.
```go
// It doesn't fill the slice with default empty strings
// and allocates enough memory
keys := make([]string, 0, len(fileNames)) 
for _, fileName := range fileNames {
  keys = append(keys, prefix + "/" + fileName) // or path.Join(prefix, fileName)
}
```