sheep: update inode coherence protocol for iSCSI multipath

This patch fixes 5 bugs of inode coherence protocol, especially in
gateway request handling:
1. add a new flag for indicating requests from tgtd
   It is required because dog command can read VDIs which are used by
   tgtd. Current coherence protocol can be violated by this
   behavior. The new flag is added for preventing this problem.
2. accurate detection of inode reload
   The previous way of detecting inode reload was incorrect.
3. return SD_RES_INODE_INVALIDATED in a case of create and write
   request
4. correct conditional branch for invalidation via gateway writes
5. remove the branch of is_modified() in is_refresh_required()
   Refresh is required even if no node is in modified state. If all
   nodes are in  shared and invalidated states, invalidated nodes must
   refresh inode.

Signed-off-by: Hitoshi Mitake <mitake.hitoshi@lab.ntt.co.jp>
sheep: don't validate other invalidated nodes

Current inode coherence protocol validates all invalidated nodes when
one node validate itself. This behavior is incorrect so this patch
fixes it.

Signed-off-by: Hitoshi Mitake <mitake.hitoshi@lab.ntt.co.jp>
sheep: correct locking of vdi status in inode coherence protocol

Currnet critical sections of vdi status in inode coherence protocl (in
functions validate_myself(), invalidate_other_nodes(),
inode_coherence_update()) are illegally short. This patch let the
the functions lock the vdi_state_lock correctly.

Signed-off-by: Hitoshi Mitake <mitake.hitoshi@lab.ntt.co.jp>
tests/functional: launch tgt with multi threaded mode in 096

There's no reason for launching tgt with only 1 backing store thread.

Signed-off-by: Hitoshi Mitake <mitake.hitoshi@lab.ntt.co.jp>
tests/functional: use failover path grouping policy in iSCSI

sheepdog cannot support multibus path grouping policy.

Signed-off-by: Hitoshi Mitake <mitake.hitoshi@lab.ntt.co.jp>