Reduce scaling issues with `deepcopy`'ing.

Transform `dict`, `list`, `set` into it's immutable partner which is
lazy loaded. So, if no attribute access is being performed, the
built-ins are not converted and cached into it's immutable version.

Fixes #10733.
Immutable object children should also be immutable.
Collections can be `__add__`'ed
Rename the module to a more suitable name
Merge pull request #10766 from s0undt3ch/features/freezedata

Reduce scaling issues with `deepcopy`'ing.