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);
  }
});
```
Yes, ThreadLocal is also techically possible. But to be honest I don't like ThreadLocals that much because it feels like a global variable that a component accesses, violating IoC / reducing control. Additionally it depends on the ThreadPool that's used and the threading strategy (what if Kryo/the ThreadLocal used from within an I/O event loop running with a single thread only?). So IMHO using ThreadLocals is more complex and the user needs to be sure in which invironment he uses a ThreadLocal.

Still, I'd mention ThreadLocal as a possible solution in the README.

Ok?