Plugin.scala to print compression dictionary

Modification of Plugin.scala to print a compression dictionary produced by the
computeFreq method.
Addition of a redundant code inside sanbox.
Skeleton for the Tree Compression Algorithm.

Addition of a simple skeleton for the compression.
Fix compilation bug

Fixing compilation bug in skeleton for Ast Compression.
Adaptation of the dictionary generator

Little modification of the dictionary generator (computeFreqs) for AST
Compression. Some leaf of augmented match on trees needed to be added.
Correcting tests

Corrected the tests according to the new implementation of the compression algorithm
Modification of intersectBFS to return a tuple

IntersectBFS return a list of tuples, one for the match from the dictionary,
one for the matching subtree from the origin.
Merge branch 'master' of https://github.com/aghosn/persistence
First implementation of splitTree

SplitTree takes a node and split it in :
	1. A minimal Dictionary
	2. A list of occurences of the entries in the dictionary
	3. A list of edges (TODO, not yet implemented).
A test (which for now just print) is in AstCompressorTest.
Modification on the way edges are stored

Instead of storing edges using their position inside the global tree, we store
their BFS index locally in the subtree to which the tree is linked along with
the encoding index of this tree. In other words, we store a tuple (Int, Int),
where the first Int is the parsing index, the second the position in BFS
of the edge, locally,inside the subtree referenced by the parsing index.
Huffman code genration function.

Coding of a function to generate the huffman code corresponding to the
frequencies of the dictionary entries. Not tested yet.
Return format to discuss.
Bug fix in Huffman code

Bug fix in the generation of the Huffman codes.
Addition of a test to test the code conversion to Huffman values.
Modification of the main of Plugin.scala to print the dictionary example
produced at compilation time. Note that this is only temporary.
Encoding of the occurences using Huffman

Encoding the list of occurences in one single list of bytes using the Huffman
codes generated. Later, this list of bytes (which contains either 1 or 0) will
have to be output properly to the compressed file. i.e. each byte represent
one bit for now.

- Test in consequences in AstCompressorTes.scala
- Addition of a dummy (larger) program in sandbox to see it working on real
programs.
Bug fixed in AstCompressor

Better not revert the frequency list order to generate the optimal
dictionary...
upgrades to scala 2.11.0 and sbt 0.13.2
Merge branch 'master' of https://github.com/xeno-by/persistence
Refactoring of AstCompressor
BugFix for edges in comp. + decodeOccs

- The indice of the edges were badly encoded.
- Decoding of the occurences based on the Huffman dict
- Structure of ASTDecompressor
Compression and decompression of bytes

Added methods in ASTCompressor to handle the bytes
Merge branch 'master' of https://github.com/aghosn/persistence
Cleaning

Cleaning the println in the code Sorry, should have done that before.