truncate feature values to 5 decimals
sprinkle context.progress() liberally
Merge remote branch 'origin/unstable' into unstable

Conflicts:
	src/edu/jhu/thrax/hadoop/extraction/ExtractionMapper.java
Fixed error message.
Merge branch 'unstable' of https://github.com/jweese/thrax
Merge branch 'unstable' of github.com:jweese/thrax into unstable

Conflicts:
	src/edu/jhu/thrax/hadoop/extraction/ExtractionMapper.java
	src/edu/jhu/thrax/util/FormatUtils.java
bugfix: send Context to RuleExtractorFactory ctor
Fixed PivotedFeatureFactory to also split by commas.
Merge branch 'unstable' of https://github.com/jweese/thrax
Changed DeduplicatePivotedGrammar to keep around externally added features.
Fixed index file creation to include external features.
removed core extraction code

This will compile, but won't extract any rules, obviously.
made PhrasePair immutable

Also, removed Clonable interface from it, and removed method to see if
it is consistent with an alignment.

To add:
1) isInitialPhrasePair(Alignment, params)
2) disjointFrom(PhrasePair)
3) contains(PhrasePair)
replace Alignment class with interface

Note that this doesn't compile: the WordLexicalProbabilityCalculator
depends on being able to instantiate an Alignment, and I haven't written
the concrete implementation yet.
common base class for word-level lexprob jobs
only need one mapper for word lexprob calculator

We use a boolean sent in the job configuration to determine whether we
should be calculating p(e|f) or p(f|e)
use new mapper in tools to calcuate word lexprobs
make IntPair immutable
concrete implementation of Alignment using arrays

ArrayAlignment is the implementation. Also note that the interface
changed from returning an Iterable to returning an Iterator. There's
less syntactic sugar, but that's okay.
removed Rule tests