Update dynamic Array.

Just a general small update. 
Shamelessly stolen goods from SM.

This patch is motivated for the following reasons:
 * If we can, we should keep the same internal class as SM, for maintainability reasons.
 * To add the missing extra parameters in some natives SM supports.
 * To ease introduction of Stack structures later.

Technical notes:
 * ```CellVector``` class is replaced by ```CellArray``` from SM as it is..
 * String was needed some attention as in AMXX we copy character per cell.
 * Probably ```ArraySort[ex]``` natives which received the most changes.
 * Changed ```CVector``` -> ```ke::Vector```.
 * Documentation is updated and completed.
 * This passes all tests from test plugin.


Could you explain why you decided to ignore the `reserved` param? The equivalent param in SourceMod (startsize) is certainly not ignored.