ObjectProperty Hydrator should only hydrate public properties (fix + new test)

According to the docs, the Zend\Stdlib\Hydrator\ObjectProperty hydrator hydrates "Any data key matching a publicly accessible property will be hydrated; any public properties will be used for extraction."

No Test was found directly for this Hydrator and the Hydrator itself would attempt to set private or protected properties resulting in a fatal error. 
To this end, I have:
1. submitted the fix to only hydrate public properties
2. have created a test for the hydrator

I hope that this meets guidelines for this.
There may be different private properties depending on the inheritance tree:

```php
class Foo { private $a = 'a'; }
class Bar extends Foo { private $b = 'b'; }
class Baz extends Bar { private $c = 'c'; }
class Tab extends Baz { private $a = 'a2'; }

var_export((array) new Tab);
```

See http://3v4l.org/9LRvA