Recycle backend connection before setting BOS_FINISHED (take two)

This to give predictable backend reuse behavior for varnishtest,
making the test cases non-racy.

2nd version of this patch. This version will only deal with recyclable
backend connections before BOS_FINISHED, leaving the slower close path
to the clean up code that is run after the BOS_FINISHED state.

Fixes: #1491
Be consistent with when the BerespBody timestamp is taken.