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
THRIFT-2705 make a package out of the haskell libraries for thrift

Patch: Kasper Janssens
Github Pull Request: This closes #222
Revert "THRIFT-2722: js: Fix javascript service inheritance namespacing"

This reverts commit 9a7cb9f6c8e6cab5970075e2faf40944ce331ad2.
lib/js/test/test.html: fix thrift.js include
Revert "Revert "THRIFT-2722: js: Fix javascript service inheritance namespacing""

This reverts commit 371358ce4e58ed45e86c87cc79d3b67ac95cfc98.
THRIFT-809 Javascript client: Please make required fields actually required.

Patch: noazark

Github Pull Request: This closes #232
THRIFT-2720 nodejs - Error with enum generation
THRIFT-1536: Maven thrift plugin
Client: build
Patch: David Trott

Maven thrift plugin
THRIFT-2759: Trusty Vagrantfile does not make clean
Client: build
Patch: jfarrell

Fixing vagrant file to build all libraries correctly
THRIFT-2764: Haskell does not build/test when using the Trusty Vagrantfile
Client: build
Patch: jfarrell

Fix hs to compile and run all tests
THRIFT-2269: Can deploy libthrift-source.jar to maven center repository
Client: build
Patch: jfarrell

Fix java src package
THRIFT-2127: Autoconf scripting does not properly account for cross-compile
Client: build
Patch: Frank Earl

Updated patch to add lt_sysroot to help with cross-compiling
THRIFT-2778 - nodejs build cleanup
Client: nodejs
Patch: jfarrell

nodejs test file cleanup
THRIFT-2757: py - fixed checkIntegerLimits in TProtocol.py

Client: Python
Patch: Bret Curtis

I was applying patch, refactoring method names and profiling method, all at once
and in that commotion code in commit was half refactored. This commit fixes it.
THRIFT-2777: move erlang test files into .eunit scratch dir

client: erlang
patch: alisdair sullivan

tests could fail with eaccess error if run as an account with
innapropriate permissions
THRIFT-2775 static assert fails in src/thrift/internal/ctfe.d
Client: D
Patch: Konrad Grochowski
Merge branch 'master' into haxe