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.
There's probably a way to compute the alignment as the rules are extracted, I'll look into it. The reason I need to recompute them is because the alignment provided to rule extraction is a the sentence pair level, so for a rule, I need to recompute the indices.