Json

Note: not necessarily indending to push this to zfsonlinux.  Creating a pull request seems to be the only way of leaving code review comments?  Let me know if I'm using github wrong.
we 've now implemented whatever we need before and after zfs_for_each() for clean invocation of callback with null argument