the `withBody` helpers now allow the specification of header replacement

The default behavior has been changed from 'overwrite' to 'keep existing headers'.

closes #110