Illumos #3552, #3564

3552 condensing one space map burns 3 seconds of CPU in spa_sync() thread
3564 spa_sync() spends 5-10% of its time in metaslab_sync() (when not condensing)
Reviewed by: Adam Leventhal <ahl@delphix.com>
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Approved by: Richard Lowe <richlowe@richlowe.net>

References:
  illumos/illumos-gate@16a4a8074274d2d7cc408589cf6359f4a378c861
  https://www.illumos.org/issues/3552
  https://www.illumos.org/issues/3564

ZoL porting notes:

This commit is based on dweeezil/zfs branch illumos-3006 in order
to get the Illumos #3006 changes.

Ported-by: Tim Chase <tim@chase2k.com>