Replace uses of ByteArrayPayload

Prefer ByteSourcePayload which offers a superset of its functionality.
Note that ByteArrayPayload implicitly set the contentLength while
users of ByteSourcePayload must do so explicitly.
Remove ByteArrayPayload

Callers should use ByteSourcePayload instead.