Memory efficient version; minor tweaks for speedup

Avoids creating hypotheses objects for the rule items; they are created
only for hyp-entries during decoding. Memory-optimal version. Also
includes tweaks to speedup decoding. This is still bit slower than the
older version of decoder.