json_decode() parity with PHP 5.4

NOTE: This will break any existing code using FB specific collections options from 381ab20c73166a86b98acd7972d69717f98c946e. Options are now the fourth parameter in line with PHP 5.4. Modified tests to reflect this.

Added depth as the optional third parameter, there is now no fixed maximum depth for the JSON parser, default depth is still 512, if a user specifies a larger depth limit then the various stacks are resized.

JSON_BIGINT_AS_STRING is now supported alongside the FB collection options.

To fix zend/ext/json/tests/007.php relevant error codes are now being set in the JSON parser so the appropriate error messages are produced.

Also moved zend/ext/json/tests/008 to good.

Fixes: https://github.com/facebook/hhvm/issues/1470