Adds replace_keys function to Arr

Adds a replace_key implementation. It is important the order of the array remains the same without any array slicing.
If you do that, you get incomplete/incorrect results. Given the fact you have an indexed array to start with, perhaps it's better to create a new array?
````
$new_keys = array();
foreach ($all_keys as &$key)
{
    // and replace old ones
    if (array_key_exists($key, $keys))
    {
        $new_keys[] = $keys[$key];
    }
    else
    {
         $new_keys[] = $key;
    }
}
````