Add Dataset#cross_apply and Dataset#outer_apply on Microsoft SQL Server

These are join methods, but unlike traditional JOINs, these allow
you to reference other tables already in the dataset (useful
mostly with table returning functions).