Add crossjoin

Adds `crossjoin` (e.g. `crossjoin(df1, df2)` or `crossjoin((:A, [1,2]), (:B, [2, 3]), (:C, 'A':'z'))`).

On one hand it's pretty easy for a user to implement. On the other, it's in ANSI SQL, and I use it pretty often in the form of `data.table`'s `CJ` -- depending on the kind of data you work with, you may never use it.