Fixes Issue 9092 - GC.extend allocates less then it reports

Not an actual issue, but required more documentation to be clear: Added a note about how extend and arrays interact to avoid confusion.

Also adds an example section, for both ways of using extend.
Documenting capacity/reserve/assumeSafeAppend
tweak extend documentation
typos
documentation tweaks and fixes
Documented unittests
Rework documentation