Decode exception, errno as part of errormsg, throwDecodingExceptions (bool)

Base commit 33843b2

1: Decode was throwing Encode exception, fixed
2: Added errno as part of error encode/decode exception message (handy in case of unknown in switch-case)
3: Added $throwDecodingExceptions (bool)

Bonus: commit c0799f0 - Added json_last_error_msg formatted error string when available >= PHP 5.5.0
Bonus commit a6ae6a6 - Added JSON_ERROR_UTF8 as JSON_ERROR_NONE (or do we have JSON_ERROR_IMPOSSIBLE hehe..) in case not defined (<= PHP 5.3.3) + corrected function_exist() to test boolean === false rather than !foo() for json_last_error_msg() added in c0799f0

Notes:
Please consider adjusting the JSON exceptions defaults as true since the people who will use this library expect to get errors easily by default. Others probably never used PestJSON.php but instead used Pest.php directly - the ones that upgrade probably will understand to handle those exceptions - I understand backwards compatibility was a concern here? Pest.php throws exceptions by default, should follow that probably as well?

Also are we positive that JSON_ERROR_NONE is always set for json_error() with the versions of json library that PHP carries. Is there any reason not to check the $ret value for being false or null from encode/decode functions?