I haven't got time to check this patch, but I would like to suggest these features:
1. Similar to NEXTBOOT command provide an option to boot some environment ONE TIME only, if it will hung at any place, upon next reboot it will not be booted, like ZFSNEXTBOOT for example.
2. Add possibility to move (by zfs send | zfs recv) 'boot environment' from other server without need to 'rebuild' the zpool.cache.