ASTERIXDB-1102: VarSize Encoding to store length of String and ByteArray

This patch is to change the encoding format that stores the length value
of
the variable length type (e.g. String, ByteArray) from fix-size encoding
(2bytes) to variable-size encoding ( 1 to 5bytes)
It will solve the issue 1102 to enable us to store a String that longer
than 64K. Also for the common case of storing the short string ( <=
127), it will save one byte per string.

Some important changes include:
1. The UTF8StringSerDer and ByteArraySerDer is not Singleton instance
any more. I need some state to speedup the serialization and avoid the
object creatation. Luckily, 99% percent of Serializer were used as
factory way. The other 1% has been fixed.

A separate Test support, the ExcutionTest now can produce the only.xml
which stores the previous failed runtime test.xml. It can speedup the
debug process.

Change-Id: I41fff780f5c071742ef10129d83c8f945d5886d7
Reviewed-on: https://asterix-gerrit.ics.uci.edu/450
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Jianfeng Jia <jianfeng.jia@gmail.com>
diff --git a/pom.xml b/pom.xml
index 71c2b2c..9f02d63 100644
--- a/pom.xml
+++ b/pom.xml
@@ -481,11 +481,21 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.hyracks</groupId>
+                <artifactId>hyracks-util</artifactId>
+                <version>${hyracks.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.hyracks</groupId>
                 <artifactId>hyracks-dataflow-std</artifactId>
                 <version>${hyracks.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.hyracks</groupId>
+                <artifactId>hyracks-data</artifactId>
+                <version>${hyracks.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.hyracks</groupId>
                 <artifactId>hyracks-control-cc</artifactId>
                 <version>${hyracks.version}</version>
             </dependency>