Adding the new JsonToStringStyle to ToStringStyle

Implementation of `JsonToStringStyle` inside `ToStringStyle` that outputs the String representation of the object in json format.

Jira ticket https://issues.apache.org/jira/browse/LANG-1015
We should extend the JavaDoc at the end with some additional information like so:

```
<strong>Note:</strong> Since field names are mandatory in JSON, this ToStringStyle will throw an {@link UnsupportedOperationException} if no field name is passed in while appending. Furthermore This ToStringStyle will only generate valid JSON if referenced objects also produce JSON when calling {@code toString()} on them.

@since 3.4
@see <a href="http://json.org">json.org</a>
```