Implemented dynamic sentence-level grammar filtering controlled with the "filter-grammar" parameter.

This required a change to the grammar interface, where the owner and spanLimit are now
properties of AbstractGrammar, instead of redundantly repeated in both the packed and
memory-based grammar implementations.

The filtering works by traversing the grammar trie with the sentence, building a new,
shadow-trie that's a subset of the original trie, but contains only paths that can be
traversed by the sentence being matched. For a small SAMT grammar, over 90% of the
grammar was removed, but at a net increase in running time. The hope is that with grammars
with high rank and rich nonterminal sets, the increased time needed to filter the grammar
will be offset by much less memory used from not seeding the DotChart with productions that
can never be completed.
implemented getChildren() in PackedGrammar
made maxlen settable
now truncates sentences to maxlen
removed MBR column
moved filtering of rule blanks to filter-rules script
pipeline script: allow setting giza merge type
paralign.pl: cachepipe call needs giza merge type
Merge pull request #86 from jweese/devel

pipeline script: allow setting giza merge type
started working on OOV detours
updated example to new glue grammar, other config options
changed default iters from 15 -> 8
updated with new, faster thrax!
changed mira max iters to 8