Replace explicit use of biggus in cube.has_lazy_data() and creating / realizing lazy cube data.
Currently mostly tied to biggus Array and ArrayAdapter.
Acceptance Criteria :
- define common basis for cube lazy data handling, not explicitly referencing biggus or dask.
- refactor all the basic usages in the code to use the new abstract interface.
Something like ```iris._lazy_data`` as in #2318 -- but that needs reviewing.