Minor changes
Fixed test case, also now only adding default-non-terminal if oov-list is undefined
Added -segment-oovs option to the decoder

This code converts all OOVs in the input sentence into a segmentation lattice. It effectively computes the intersection of \sigma^+ (sigma the terminal vocabulary) with all possible segmentation of each OOV. This allows the decoder to choose alternate paths through OOVs, potentially reducing the number of them, and should be especially useful for translation from languages with lots of compounds (e.g., German).