Bio error reporting has been a mess for a while, and the increasing
use of chained bios makes it worse. Add a bi_error field to struct
bio to fix this.
Note that the rebase to 4.2-rc means a lot of context changes, so I've
dropped the Reviewed-by tags from V2 as it will need a re-review.