cleanup force.dyna
Improvements to chart

  * queries (= Chart.__getitem__) perform fewer set intersections (removed a
    very slow call to set.copy -- it's faster to intersect two sets and get a
    copy because the intersection is guaranteed to be smaller!)

    I'm also using a most constrained variable first heuristic for picking the
    first index to intersect.

  * fewer hash look ups with we call ``insert``.
small bugfixes in aggregators pertaining to when things should be null.
dynac utility throws an a nice DynaCompilerError on failure and uses the more
modern `subprocess` module for the system call.
fixed a few bits that broke during refactoring.
fixed some exceptions that we're properly caught.
tweaks, fixes.
merge
Progress on Penn Treebank benchmarks/experiments.