add more tests for read-only pool and differing pool scenarios
add more tests for read-only pool and differing pool scenarios

Some notes:
- DuplicateSnapshots is raised instead of PoolsDiffer because both
  conditions are originally reported as EXDEV
- only one PoolsDiffer or ReadOnlyPool error is reported in
  SnapshotFailure.errors even if multiple snapshots are affected
- if snapshots for different pools are attempted and one of the pools is
  also read-only, then a single error, either PoolsDiffer or ReadOnlyPool,
  is reported

ClusterHQ/pyzfs