Avoid 0-capacity arrays.

At least when compiled from visual studio, 0-capacity arrays result in a
NULL pointer sitting in the items field, which can cause further
problems when we try to realloc it. Rather than doing a check with every
add operation for non-NULL items, it seems simpler to elimintate the
0-capacity case.