Apply patch from lks (with a few adjustments). Fixes Mantis #23938.

gvector.pp:
  * more consistent formatting
  - remove "inline" directives in implementation section
  * use "Move" instead of a for-loop in Erase and Insert (while also respecting managed types) for performance improvement
  * set the removed entry in PopBack to Default(T) (also for managed types)
  * fix a bug in Erase which checked for "<= Size" instead of "< Size"


git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@23647 3ad0048d-3df7-0310-abae-a5850022a9f2