Add simple, queue based kryo pool

I'm submitting this as a proposal for a simple kryo pool, didn't want to push it directly into master. Some words on the suggested pool...

Kryo instances are created using a `KryoFactory` that's passed to the pool.
The pool uses a `ConcurrentLinkedQueue` to manage kryo instances.
The pool also allows to run callbacks by passing a kryo instance.

The included `KryoPoolBenchmarkTest` (with `ITER_CNT = 100000`) shows
the following output for me (excerpt):

    >>> With pool (average): 8 ms
    >>> Without pool (average): 2,105 ms

KryoPool usage example:

```java
KryoFactory factory = new KryoFactory() {
  public Kryo create () {
    Kryo kryo = new Kryo();
    // configure kryo
    return kryo;
  }
};
KryoPool pool = new KryoPool(factory);
Kryo kryo = pool.borrow();
// do s.th. with kryo here, and afterwards release it
pool.release(kryo);

// or use a callback to work with kryo
String value = pool.run(new KryoCallback() {
  public String execute(Kryo kryo) {
    return kryo.readObject(input, String.class);
  }
});
```
I would say most of the time you'd want to use ThreadLocal and have a Kryo per thread. You'd only need a pool if you don't want a Kryo per thread for whatever reason. What is a reason you would not want a Kryo per thread? A thread is pretty heavyweight. I would guess you could have a Kryo per thread in just about any situation and be fine.