phlsys_textconvert: add to_unicode() for safety

This will raise an exception: unicode(unicode('hello))

Sometimes we need to ensure something is unicode at more than one place
and 'unicode()' seems to be the way to do it.

Provide a 'to_unicode()' routine to safely ensure that the supplied
string is a 'unicode' builtin.

Test Plan:
added breathing test to test driver
$ ./precommit.sh
Revert "phlsys_textconvert: add to_unicode() for safety"

This reverts commit bd073a8bd02503a1bbe291497803e986b7247173.
phlsys_textconvert: add to_unicode() for safety

This will raise an exception: unicode(unicode('hello))

Sometimes we need to ensure something is unicode at more than one place
and 'unicode()' seems to be the way to do it.

Provide a 'to_unicode()' routine to safely ensure that the supplied
string is a 'unicode' builtin.

Test Plan:
added breathing test to test driver
$ ./precommit.sh
phlsys_textconvert: add ensure_ascii() for safety

When we get byte strings with non-ascii characters from external
sources, we run the risk of a conversion error when printing or
converting the string to unicode.

Provide an 'ensure_ascii()' routine to safely ensure that the supplied
string is a valid ascii byte string.

Test Plan:
extended breathing test
$ ./precommit.sh
abdt_conduit: use new to_unicode() routine

Test Plan:
$ ./precommit.sh
abdt_branch: ensure output is ascii

Test Plan:
$ ./precommit.sh

create a review and specify a reviewer with U+2026 in their name, verify
that a warning is successfully reported after the code change but not
before.
$ ./testbed/arcyd/test_shell.sh