pict: make `hc-append`, etc., match the docs

Allow pict arguments, with or without a separation-size
argument.

The recently added contract has rules out providing a
separation size with no arguments, which had been allowed
before. The underlying problem, though, was an inconsistency
in the implementation that allowed 0 pict arguments only
in the case that a separation size is provided.
restore accidentally removed GC check

Fixes a mistake in commit 768b93be82, which dropped a check that is
needed to trigger GCs during a sequence of large-block allocations.

Closes PR 14738