Add some tests in server and utils

While writing those tests, I had some questions:

In `func (srv *Server) poolAdd(kind, key string) error` we only prevent pulling or pushing if there is a pull ongoing. 
But we can do multiple push at the same time, is this a wanted behaviour ? (because of the private registries ?)

In `func CompareConfig(a, b *Config) bool` we don't compare `Volumes` and `VolumesFrom` is this a wanted behaviour ?

/cc @creack @shykes