Add keys method for Php::Value

This method can get the array keys, or object property names, include
private & protected properties.

It is similar to working in PHP:

array_keys($array);

and

array_keys((array)$object);

but the return value type is std::vector<Php::Value>, and it's faster
than using php function.
Merge branch 'keys' into my_branches