Remove recursion from dsl_dir_willuse_space()

Remove recursion from dsl_dir_willuse_space() to reduce
stack usage.  Issues with stack overflow were observed
in zfs recv of zvols, likelihood of an overflow is proportional
to the depth of the dataset as dsl_dir_willuse_space()
recurses to parent datasets.

Closes #2069