Additions from docker/zfs

I am currently working on zfs support in docker and add some missing features to your library. Sorry for making a big Pull Request instead of atomic changes, but I need the functionality as it is anyway.

Changes made:

- add Origin and Logicalused property to zfs.Dataset
- add defer flag to zfs.Destroy()
    - Instead of boolean parameters flags would be a better fit IHMO. But this would require a bigger refactoring and I would like to hear your opinion on this first.
- add (*dataset).Diff()

**UPDATE** just discover a bug in Diff() if a file is renamed
**UPDATE2** fixed Diff() bug

I wonder should we have an "options struct" rather than flags here.  Perhaps examine that after this is merged.