btrfs: refactor how we finish ordered extent io for endio functions