Remove MappedBatch::isEmpty() and private documents property

This method is unnecessary since getItemCount() is defined in BatchInterface. The $documents array can also be removed (it was a relic of older methods that allowed fetching a document by an index).
Do not update index map in MappedBatch unless add() is successful
MappedBatch tests