Refactor filters and operators to be more similar
Rename method in ashtadhyayi.py
Clean up rule creation pipeline

This commit makes the pipeline more obvious and easier to debug.
But there's still more to do.
Remove 'SamjnaRule' class
Remove some unused code
Refactor upadesha.py to terms.py

There are still a few modules whose responsibilities aren't totally
obvious. I hope to clean those up soon.
Refactor '__call__' code in filters.py and operators.py

Since there are no longer any filters or operators that are ordinary
functions, there is no compelling need to maintain '__call__'. Now
it is more obvious what is happening when a filter or operator is
used.
Refactor 'State' code to new module
Refactor rule ranking code to new module

The new code is cleaner and significantly more modular. It does add
some new test failures, but not too many.
Refactor 'Boost' hack

The hack is still there, but it's a lot less hacky.
Remove various bits of dead code
Refactor rule tree & rule builders to new modules

That is, refactor 'RuleTree' to trees.py and refactor all the rule
builder code (including some in ashtadhyayi.py) to expand.py.

Next step: make the utsarga-apavada code more modular.
Rename 'RuleTuple' to 'RuleStub'

It's a slightly more descriptive name.
Remove redundant logger definition