Red - Chapter 2

Chapter 2 exercises for Java Training.
I'm wrong, Java chars are _all_ in UTF-16 - representing values outside of this range is done by allowing `char`s to include a _supplementary_ `char` (thus a single `char` var can be composed of two UTF-16 characters for values `0x10000` to `0x10FFFF`). The point about iteration over fixed-width memory is still essentially sound, though the Java definition simply didn't use UTF-8 for backwards compatibility reasons.