The new semantics introduced by the restructured sync task of illumos
3464 require this lock when calling dmu_snapshot_list_next().

Porting note:
  I missed this when doing the original port because ZoL's control
  directory code is Linux-specific and is in a different file than
  in illumos.

  The pool is locked/unlocked for each iteration to reduce the chance
  of long-running locks.