Have PgSelectStep leverage unary steps
Relates to #1973; PgSelectStep and related classes should be able to `addUnaryDependency` for first/etc and thus not need to do such complex SQL for first/last/cursor/etc. Should be able to use this to eliminate some `eval` calls also?

