Fixed transaction write size not being set to 0 when the transaction is reset

- tr.Size must be reset to 0 after a successful call to tr.OnErrorAsync() or tr.Reset()
Directory Layer: added missing directory.Remove(db, cancellation) override

- removes the directory itself
Bulk: fixed and tweaked the bulk insertion of items

- Uses 256KB for the target transaction size and max 2048 items per batch