Slice projection

Various fixes + support for slice projection (via fields method).
Also added $setOnInsert.