The variant of UTF-8 implemented by this class is the restricted definition of UTF-8
introduced in Unicode 3.1. One implication of this is that it rejects
"non-shortest form" byte
sequences, even though the JDK decoder may accept them.

Returns true if bytes is a well-formed UTF-8 byte sequence according to
Unicode 6.0. Note that this is a stronger criterion than simply whether the bytes can be
decoded. For example, some versions of the JDK decoder will accept "non-shortest form" byte
sequences, but encoding never reproduces these. Such byte sequences are not considered
well-formed.

This method returns true if and only if Arrays.equals(bytes, new
String(bytes, UTF_8).getBytes(UTF_8)) does, but is more efficient in both time and space.