pool: fix race condition by avoiding sharing the kites map.

* We also are improving the pool by adding two new methods. The kites
map is hidden as an implementation detail. Because the pool might be
implemented on some other data structures, therefore it shouldn't be
exposed. Also it allows us to create easy thread-safe packages.