Fixed batch query support for LINQ methods returning singular results.

Methods returning single elements of the enumerable's type are now
batched (First, Single, FirstOrDefault, SingleOrDefault).
Updated SplitQueryable construction to properly set internal query to
route unsupported methods to.
Minor refactoring
Minor refactoring