Chapter 5 self-test answers.

Rather than using `forEach` and an external `StringBuilder`, this could use a joining collector:
```java
return IntStream.range( 0, message.length() ).boxed()
  .map( i -> (char)cipherCharAt.apply(i, message).intValue() )
  .collect( Collectors.joining() );
```