Arrays::flatten - possibility to preserve keys

Simple & handful possibility to preserve keys while flattening array.
In case of duplicate keys, last one wins, which is same behavoir with native php functions, e.g. array_flip or array_merge.

Change is fully backward compatible as the default value is `FALSE` <del>unless one was overriding the method in userland</del> (could not -- it's final). :)