A bunch of cleanups to get us a nice I/O submission path. Changes since V2: - really address the comments from Bart - address another comment from Bart Changes since V1: - rebase on top of the recent blk_mq_try_issue_directly changes - incorporate comments from Bart