Add properties method for Php::Value

This method can get property names.
When the only_public argument is false, we can get all properties. and
the private & protected property names are also the normal names, no
such prefix `\0XXX\0`. This is the different place with the `keys`
method.
Merge branch 'properties' into my_branches

Conflicts:
	include/value.h
	zend/value.cpp