Wording, less genitive in the heading
Introduce two new states in backend-fetch state machine: retry and error
Extract the bereq->obj creation code to a separate function
Make bereq.* vars available in vcl_backend_error{}
Shift the 503 creation into the error step.
Only attempt to salvage an object into Transient if it wasn't already
destined for Transient in the first place.
remove a couple of pointless copies of the HTTP status.

Pick it out of struct http when needed.
Ensure that bitfields get set.
Use the correct flag to controll EXP_Touch() calls
Gently shuffle things around a bit.
Deal with BS_ERROR much earlier
Now that busyobj has its own worker thread, borrow the stats
throughout the show.
Eliminate some debugging which has overstayed its usefulness
Collect code for increased clarity
Use the same storage allocation policy for 304/IMS as for regular
fetches.
Drop the BOS_COMMITTED state, and rename BOS_FETCHING to BOS_STREAM
which is really what client threads care about.
Add the internal bo->failed state we need to allow retries separate
from the external BOS_FAILED state.
Fix faulty example. Reformat tabs/spaces

Fixes #1438.
Prettier formatting of RST lists.

Remove the last few tabs that was forgotten on the last commit.
Remove extra meta-header.

We never know when to update this header. All the important parts of it is
available in the git log. Since we don't really do versioning of documentation,
it was really just taking up space.

I've tried my best to keep the author names from the headers in the history
section.