Construct lambda filters

Haven't implemented "range" yet
Cleanup
Add pyparsing to requirements
Specify pyparsing version better in requirements
Add suport for range in filter
I guess we need a newer version of pyparsing
Refactor topology-getting method names

Now there are three methods:
        - get_top_cls -> actual topology class (e.g. Residue)
        - accessor -> e.g. lambda a: a.residue
        - accessor_str -> e.g. "a.residue"
Merge remote-tracking branch 'origin/mpharrigan-selectionlang2' into selectionlang2

Conflicts:
	MDTraj/core/selection.py
	MDTraj/core/topology.py
	MDTraj/tests/test_selection.py
Post-merge tidy
Fix for py3