Corrected utf16 output on function utf8_idpb()

More reading and see utf16 is 16bits for all codes, not just surrogates.
Default is better to use {0..0x10ffff} and not older {0..0x7fffffff}.
Added ability to also output UCS2 and UTF32. Edited flags.
Fixed bug with utf8_ib(). utf8_ib() and utf8_db() have increased range.

Both routines now allow for possibility of 'old' utf8 {0..0x7fffffff}.
Fixed bug with utf8_ib() which did not increment correctly to next char.
Merge pull request #861 from JoesCat/master

utf8_idpb, utf8_ib, utf8_db edits