harness: fix lots of -Wincompatible-pointer-types and -Wpointer-sign warnings

Conflicts:
	XS.xs
2.3305:  t/99_binary.t: non-numeric test names, use is instead of ok

nondev version to be indexed in CPAN
added META data to Makefile.PL
tested ok on 5.17.10

Conflicts:
	Changes
	Makefile.PL
	XS.pm
	t/99_binary.t
fix additonal merge conflict
updated README
2.3306: fix decode_utf8 for 5.6 (bdraco), updated deps

use common::sense for tests
fix README dependency: update earlier, not just at make dist
added pod2text prereqs

Conflicts:
	Changes
	Makefile.PL
	XS.pm
2.3307: add binary, allow hex and octal with binary

write and accept \xNN JSON encoding with binary only,
also accept octal \0NNN JSON with binary

Conflicts:
	Changes
	XS.pm
	t/99_binary.t
test fixes for 5.6, update README

Conflicts:
	Makefile.PL
	t/19_incr.t
2.3308: 5.6 utf8 binary special case

fix 5.6 binary utf8 encoding, harmonized with newer perls.
5.6. encodes strings to utf8 internally when seeing a codepoint >= 0x80.
with binary decode it to the original bytes before encoding it to escaped
JSON.

Also fix the documentation for new binary multi-byte utf8 encodings:
* fail for 5.6,
* silently encode the utf8 representation with newer perls. (discussable)

Conflicts:
	README
	XS.pm
2.3309: fix 19_incr.t broken with 5.17.10 hash randomzation [RT #84151]

patch by wyant @ cpan.org.

Note that the other open ticket RT #84244 is invalid. It's perls fault
to encode Unicode to utf8 without setting the utf8 flag since 5.8.1.
To avoid double-encoding use the binary method.

Conflicts:
	t/19_incr.t
2.3310:  add testcases for JSON::XS RT #84244, double-encoding with utf8

t/01_utf8.t (use utf8), t/14_latin1.t (no utf8)
t/01_utf8.t: enable and fix more 5.6 testcases

Summary: I found no double-encoding problem in JSON::XS/Cpanel::JSON::XS
but clarified more 5.6 cases with mb chars

Conflicts:
	t/01_utf8.t
	t/14_latin1.t