Only attempt IMS on status=200 objects.
Remove negative Age assertion and truncate to zero instead.

The Age reported on response objects is calculated from the last
request timestamp taken. For a cache hit that hasn't been on a
waitinglist, that will be the Start timestamp. This opens a race where
the requests' last timestamp could be before the objects t_origin.

Truncate the Age to zero rather than assert in that case.

Fixes: #1486
Copy the status code, proto, status string and response message on
backend IMS.

When revalidating using backend IMS, copy the status code, status
code, status string and response message from the original object into
the new revalidated object. This makes sure that none of the 304
message fields gets applied to the new revalidated object.

Fixes: #1485