Initial attempt at templating the score type of CWeight.
Output float weights as integers.
Corrected type definitions.
Changed the model format to use msgpack.
More changes for model format to use msgpack.
Removed the old tuple classes.
Changed bigram to not alloc.
Cleaned TaggedWord.
Ensure CPackedScoreMap destructs correctly.
Removed unnecessary virtual.
Removed unnecessary assert.
Added methods for averaging weights for merging instead of doing a
weighted average. This allows for parallel merging of weights.
Shrunk feature hashtable bucket size.
Added missing MessagePack array around TaggedWord data.
Moved the pool to per-instance.
Inheritance fixes.
Added parallel weight merging.
Use floating point weights to get extra range.
Removed addWeighted implementation now that weights are being merged in
parallel.
Switch back to using signed 64-bit score type, as per the original
version of zpar. Overflow occurs with 32-bit ints. 32-bit floats don't
suffer from quite the same amount of overflow.