Add an array that describes which opcodes are supported

While RDWR supports all SBC opcodes that TGTD implement SHEEPDOG
only supports a subset and lacks the following opcodes:
            WRITE_VERIFY10/12/16 VERIFY10/12/16 PREFETCH10/16
            WRITE_SAME10/16 UNMAP and ORWRITE

This allows backends to specify which opcodes it is prepared to
process and which commands should fail with invalid op code and allows
SHEEPDOG backed LUNs to respond with INVALID_OP_CODE correctly.

This is most useful for block devices where we have several different
backends and where some backends only support a subset of the commands

Changed by FUJITA Tomonori:

- use ARRAY_SIZE()
- use Linux bitmap functions
- put the supported ops array into struct backingstore_template

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>