[sgen-canaries] Added helper macros for canary support.
[String] [sgen-canaries] Make String.InternalSetLength into an icall.
This replaces the managed implementation and allows us to adjust
the upper canary word for the resized string.
[sgen-canaries] Added sgen_safe_object_get_size_unaligned() function.
This is a variant of sgen_safe_object_get_size(), that guarantees returning exact size.
sgen_safe_object_get_size() will under some conditions return a size aligned up to 4 bytes.
This is needed for canaries exactly "hugging" the object.
[sgen-canaries] Implement canaries in nursery.
Note: Managed allocator cannot be used with canaries enabled at this point.