[CORE] blockdev: Reorganize and improve vmm_blockdev_submit_request()

The vmm_blockdev_submit_request() should give failed() callback for request that do not pass sanity checks in vmm_blockdev_submit_request().

The struct vmm_request callbacks if provided must be called for invalid or improper request too.

Signed-off-by: Anup Patel <anup@brainfault.org>