Added word alignment information for extracted rules.

In the extraction phase, word alignment info is written
to an output value together with provenance counts.
The word alignment is kept until the merge phase and written
to the HFiles. For extraction, feature computation and merging,
the alignment info is always kept as a MapReduce value rather than
key to preserve the structure of RuleWritable (3 fields: lhs, src and trg).
All alignments and counts are in the HFile. At retrieval time, any local
feature that takes into account these alignments can be computed.
For example, it's possible to keep the most frequent alignment or
all of them with their frequency.
Do you mean Pair or PairWritable ? For PairWritable, I tried doing this for PairIntWritable but because PairWritable doesn't have a default constructor, mapreduce jobs would fail. Let me know if there's a workaround. For Pair, I agree that I could probably have a class signature like: class AlignmentAndFeatureMap implements Pair<...>, Writable. Is this what you're after ?