Support for per-target headers and body contents

Be able to specify headers and/or body contents per target, in addition to specifying them globally.

A few notes:

1. If a body file isn't found we skip the target
2. If we find any per-target headers we use none of the global headers. I didn't have a use case for this, but if it's useful to merge the global and per-target headers it's straightforward and I'd be happy to do so.
3. Yes, we're reading the full body for all the targets into memory. You can probably use the `-lazy` option if this is a big problem.