THRIFT-2712 PHP: add "json" option to create JsonSerializable code

This patch adds a "json" option to PHP code generation that will
make generated classes implement JsonSerializable, so thrift
objects may be converted to json using json_encode() easily.
If the "validate" option is enabled, the object's write validator
will be called, beyond that the jsonSerialize() method only outputs
non-null fields in the JSON object (JSON parsers get grumpy if you
send them null where they expect to see a number).

Patch: Stig Bakken

Github Pull Request: This closes #219
diff --git a/.gitignore b/.gitignore
index f072ade..de55b3c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -168,6 +168,7 @@
 /lib/js/test/build
 /lib/nodejs/node_modules/
 /lib/perl/MANIFEST
+/lib/perl/MYMETA.json
 /lib/perl/MYMETA.yml
 /lib/perl/Makefile-perl.mk
 /lib/perl/blib
@@ -199,7 +200,7 @@
 /lib/php/src/ext/thrift_protocol/thrift_protocol.la
 /lib/php/src/ext/thrift_protocol/tmp-php.ini
 /lib/php/src/packages/
-/lib/php/test/phpunit.xml
+/lib/php/test/TEST-*.xml
 /lib/php/test/packages/
 /lib/py/dist/
 /lib/erl/logs/