Consolidate type checks in `_decode_chunk`
Consolidate type checks in `_decode_chunk`

As refactoring of the `reshape` step has effectively dropped the
expected `object` type case, the checks for different types is a little
more complicated than needed. To fix this, basically invert and swap the
case ordering. This way we can handle all generally expected types first
and simply cast them. Then we can raise if an `object` type shows up and
is unexpected.

alimanfoo/zarr,zarr-developers/zarr-python