num_translation_options for hierarchical models

We limit the total number of translation options for a particular LHS
according to the num_translation_options configuration key.

Note that sometimes, this limit may not be effective because the limit
is only enforced for a particular source phrase and LHS combination.
Translations with different LHSes do not block each other, so in a
sparse model like SAMT, most options will be included.
Merge pull request #177 from jweese/num_opts

num_translation_options for hierarchical models