Bugfix: was returning inside the for loop instead of after it
Added some missing template parameters
Now using strings of words instead of strings of IDs
Added -rescore-forest option, removed -oracle-file

If you want to pass in an oracle / reference sentence, it is the third |||-delimited
field on STDIN to Joshua. Probably some effort should go into rethinking the STDIN
input format; currently the second field is used for a target-language parsing or
forced-decoding target, which is why we used the third field here.
Removed rescore() function and unused imports
Completed Stats class and BLEU scoring of Rule objects
Extended to handle references from the command-line.
Refactored Rule interface and replaced ArrayList<Integer> objects with int[]s
Added BLEU restoring of DerivationState objects, simplified interface a little bit
Updated test cases (changes caused by rounding errors)
Fixed rescoring test case
Improved documentation
Fixed decoder path
Bugfix: removed BLEU score from features
Added GHKM extraction
Changed lmplz invocation
Added forest rescoring option -rescore-forest
Gideon : Merge remote-tracking branch 'upstream/master'

Conflicts:
	src/joshua/decoder/JoshuaConfiguration.java
	src/joshua/decoder/Translation.java
	src/joshua/decoder/hypergraph/KBestExtractor.java
	src/joshua/oracle/OracleExtractionHG.java

Merged the changes for Forest MBR with those made for refactoring of the JoshuaConfiguration.java class
(making it non-static). Tested the decoder and mira, everything seems to work, and it should be
possible to pull this merge into the main branch if so desired.

       modified:   README
       modified:   scripts/training/mira/run-mira.pl
       modified:   scripts/training/pipeline.pl
       modified:   src/joshua/corpus/Vocabulary.java
       modified:   src/joshua/decoder/BLEU.java
       modified:   src/joshua/decoder/JoshuaConfiguration.java
       modified:   src/joshua/decoder/Translation.java
       modified:   src/joshua/decoder/chart_parser/DotChart.java
       modified:   src/joshua/decoder/ff/LabelCombinationFeatureFunction.java
       modified:   src/joshua/decoder/ff/tm/BilingualRule.java
       modified:   src/joshua/decoder/ff/tm/Rule.java
       modified:   src/joshua/decoder/ff/tm/packed/PackedGrammar.java
       modified:   src/joshua/decoder/hypergraph/HyperGraph.java
       modified:   src/joshua/decoder/hypergraph/KBestExtractor.java
       modified:   src/joshua/decoder/segment_file/Sentence.java
       modified:   src/joshua/oracle/OracleExtractionHG.java
       modified:   src/joshua/ui/tree_visualizer/DerivationTree.java
       modified:   src/joshua/util/Ngram.java
       modified:   test/bn-en/packed/output.gold
       modified:   test/bn-en/packed/output.scores.gold
       modified:   test/bn-en/samt/output.gold
       modified:   test/bn-en/samt/output.scores.gold
       modified:   test/decoder/left-state/output.gold
       modified:   test/decoder/left-state/output.scores.gold
       new file:   test/decoder/rescoring/glue-grammar
       new file:   test/decoder/rescoring/grammar.gz
       new file:   test/decoder/rescoring/input.txt
       new file:   test/decoder/rescoring/joshua.config
       new file:   test/decoder/rescoring/test.sh
       modified:   test/packed-grammar/output.gold
       deleted:    test/packed-grammar/output.gold.bleu