Introduce Writeables.Joiner to simplify writing lists of Writeable objects

Could also be written as

```java
Iterable<TypeVariableName> typeVariableIterator = typeVariables.iterator();
if (typeVariablesIterator.hasNext()) {
  appendable.append('<');
  Writables.Joiner.on(", ").appendTo(appendable, context, typeVariablesIterator);
  appendable.append("> ");
}
```

or

```java
if (!typeVariables.isEmpty()) {
  appendable.append('<');
  Writables.Joiner.on(", ").appendTo(appendable, context, typeVariables);
  appendable.append("> ");
}
```

if you find it more readable.