pk skip scan

I think this link will allow viewing the diff with whitespace changes ignored:
https://github.com/ryang-sfdc/phoenix/commit/e150e5bf7ca0ca6f3097dda2eee5581fb6284552?w=1

This change isn't complete, I still want to write more tests to feel confident that it's working, and there are some algorithms & data structures that need to be tightened up, but I think it's in a place where we can start a discussion.