ENG-4858: Atomically add new partition to ZooKeeper.

The LeaderAppointer's partition callback checks if the cluster is k-safe or not
whenever it's fired. Adding a new partition consists of two ZK operations,
adding the partition ZK dir and adding the replica node under the partition
dir. This is not atomic. The LeaderAppointer's partition callback could be
called between the two operations and crash the cluster thinking that the
partition is not k-safe.

Adding a state to the partition dir to indicate whether the partition has
finished initializing or not. If not, LeaderAppointer shouldn't perform k-safety
check on that partition. The first replica that adds itself under that partition
dir will also mark it as initialized.
Merge pull request #597 from VoltDB/ENG-4858

ENG-4858: Atomically add new partition to ZooKeeper.
performance charts: fix sql error
For ENG-4854, copy export data onto the heap to avoid issues with double free and use after free
performance charts: if present, display master first for each case
For ENG-4854, clarify memory ownership, once it is pushed it belongs to Java
ENG-4863: Cache the buffer used to load stream snapshot data on each site.

Each StreamSnapshotSink used to cache its own buffer used for load table. During
join, a single site can have multiple StreamSnapshotSinks, but only one of them
will be used to restore data at once. Cache the buffer at the site level so that
each site doesn't end up allocating more buffers than needed.
Merge pull request #601 from VoltDB/ENG-4854

Eng 4854 Fix crash in export buffer handling
Merge pull request #600 from VoltDB/ENG-4863

ENG-4863: Cache the buffer used to load stream snapshot data on each site
Merge remote-tracking branch 'origin/master' into catalog-report-hugg
Taking bballard feedback and a few minor tweaks.