Fix recursive header file dependancies for UnknownArrayHandle
Having UnknownArrayHandle.h include DefaultTypes.h is problematic,
because that header includes lots of other classes like cell sets.
Keeping these from in turn depending back on UnknownArrayHandle.h is
difficult. So this MR breaks this dependency. UnknownArrayHandle
no longer includes DefaultTypes.h, so DefaultTypes.h and all of its
dependencies can in turn include UnknownArrayHandle.h.
This change is required for features like !2551 (merged) where a core class
wants to use UnknownArrayHandle
to compile something in a library
without templates.
Edited by Kenneth Moreland