Refactor vis / weights / flags lazy indexing
Refactor vis / weights / flags lazy indexing

Collect all the common indexing steps for vis / weights / flags in new
_vislike_indexer method. These include the enforcement of 3 dimensions by
keeping singleton dimensions and the future fix for duplicate final dumps.
The specific type and shape conversions are kept within vis / weights / flags
as a separate LazyTransform. This simplifies the indexer construction flow
somewhat and removes a lot of duplicate code (replacing it with docstrings!).

ska-sa/katdal