Added composite hydrator naming strategy

This naming strategy allows us to use different naming strategy for different property.
<code>@throws Exception\InvalidArgumentException</code>