Add ability to use with() on shared lists.

This request adds the ability to order and limit shared lists.

As a side effect of the change, batch() also gains the ability to add extra SQL.

So far, the only potential issue I found is that, similar to find(), "1 " must be prepended to the query.