Implement block operation cancelation on io_cancel

Introduce kiocb->ki_canceled bool flag that indicates whether the operation
is cancelled. bio structure saves pointer to the field and checks when
it does forward progress.

Remove KIOCB_CANCELLED as its functionality is replaced by more readable
boolean flag.

Currently io_cancel does not copy data to userspace event structure. But
this is going to be removed soon.