Optimize policy processing time

 - Convert congress.policy.runtime.NonrecursiveRuleTheory contents
   from lists to OrderedSets.
 - Convert congress.policy.compile.Term.create_from_python() to a
   static method

The OrderedSet change slashed test_benchmark_datasource_to_policy_
update_large() from indeterminant (2k rows took around 10s while 20k
rows didn't finish within 30 minutes) to ~20s for 100k rows. I only
modified the datastructures underlying NonrecursiveRuleTheory because
I don't yet quite understand the other theories. There may be similar
eains available in those classes.

The static method change was good for another 5% gain.

Note that 100k rows is a still a fairly small update for my use case.
There's still a lot more performance work to be done.

Change-Id: I1804e50bd50f7cb9435cc07d86946cb9c0f6f608