title: kryo.readObject cause NullPointerException with ArrayList
body: <p>I get a NullPointerException when I unserialize an ArrayList object using kryo.</p>
  
  <pre><code>Caused by: java.lang.NullPointerException   
  at java.util.ArrayList.ensureExplicitCapacity(ArrayList.java:215)   
  at java.util.ArrayList.ensureCapacity(ArrayList.java:199)   
  at com.esotericsoftware.kryo.serializers.CollectionSerializer.read(CollectionSerializer.java:96)
  at com.esotericsoftware.kryo.serializers.CollectionSerializer.read(CollectionSerializer.java:22)    at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:679)     
  at com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:106)
  </code></pre>
  
  <p>I can see that StdInstantiatorStrategy creates an ArrayList without calling its constructor leaving one of the fields uninitialized causing the exception.</p>
  
  <p>The documentation says that the no argument constructor should be called first and if none is available, the StdInstantiatorStrategy should be used to do field by field initialization.</p>
  
  <p>What am I doing wrong? </p>