Basic handling for fields in oplog

Just run through projection before calling callbacks or keeping fields in published IdMap, or diffing.
Oplog observe handles 'drop collection' or db.c.drop()