Optimization for Cascalog 1.10.x

I know everyone should be moving to Cascalog 2, but we still have a sizable codebase running on Cascalog 1.x, and it will take some time and effort to move.

This pull request has 2 optimizations:
- replace non-nil check with a cascading filter, which appears to be a lot faster than equivalent clojure filter op
- create a vector of join types rather than (effectively) a linked list. This helps with performance of multi-way joins