Changes JsonDeserializer to use ListBuffer for arrays and objects. Fixes #1487

Using a mutable.ListBuffer to deserialize large arrays and objects provides much
better performance than the existing implementation using List.
Appending to an immutable List is a linear-time operation making the
deserialization of a JSON array an O(n^2) operation.  ListBuffer offers
constant-time append and constant-time export to an immutable List,
bringing JSON object deserialization down to linear time.

Performance tests are also provided.  This test deserizalizes a 2^13
element object 100 times and a 2^16 element array 100 times.

Changes JsonDeserializer to use ListBuffer for objects. Fixes #1487

Using a mutable.ListBuffer to deserialize large objects provides much
better performance than the existing implementation using List.
Appending to an immutable List is a linear-time operation making the
deserialization of a JSON array an O(n^2) operation.  ListBuffer offers
constant-time append and constant-time export to an immutable List,
bringing JSON object deserialization down to linear time.

Performance tests are also provided.  This test deserizalizes a 2^13
element object 100 times.
Merge pull request #1509 from ryantanner/wip-json-array-deserialization

Use a mutable structure during JSON deserialization of arrays and objects