Bulk bug fix: Etag.Empty should be used for new documents

Having Empty indicates the document should be new. Null says don't
check the Etag. Was seeing failures where the "Bar" value was being overwritten.
Added handy consoleLog method to Prelude
Allow groups of documents to be batched together
Open raven session later in the process
Preserve metadata for bulk writes
Move more event processing out of the Batch Processor
Remove non batching raven projector
Introduce DocumentProcessor abstraction
Fleshed out the document processors