Add hash, className & id methods for Php::Value

If you want to use Php::Value as a key of unordered_map, you can use `hash` method to implement the hash function. But it only works correctly when patched #114.

`className` method can return the calss name of the object. and return empty string when the value is not an object.

`id` method return an id of the object. It is like spl_object_hash, it return empty string when the value is not an object.