Test `pop` with default argument (#380)
Test `pop` with default argument (#380)

* Test `pop` with default argument

Adds another case to `test_pop` for stores generally, which merely tests
if `pop` can handle the default argument correctly when no key can be
found.

* Test `pop` with the default value of `None`

Some implementations of `pop` might carelessly set the `default` to
`None` when not passed. However this would make it impossible to
distinguish the case where the user passed `None` for the `default`
intentionally versus not passing anything for the `default`. The result
being both cases would raise a `KeyError`, but the error would be
incorrect in the first case. The usual way of solving this is to create
some dummy object and make that the `default` when if it is not set.
That way one can compare if the dummy object is seen and only raise
then. Thus passing `None` for the `default` would not error, but return
`None` if the `key` does not exist as expected. This test is added to
catch this potential oversight.

* Test `pop` with a non-trivial `bytes` object

alimanfoo/zarr,zarr-developers/zarr-python