add nbands key to hdr and generalize to banded data
update tests and fix regressions related to nbands

- StructuredGrid now behaves properly when a `hdr` is not provided
- removed ncols and nrows from StructuredGrid
- Tests now create test grids with nbands metadata (still need tests for
  multiband data)