Port receive property overrides from FreeBSD patch
Currently missing man page changes because I don't understand them yet.

Issue: zfsonlinuz/zfs#1050

This is a port of patch by Steven Hartland for FreeBSD from Illumos
feature #2745, original patch is available at:
http://blog.multiplay.co.uk/dropzone/freebsd/zfs-recv-properties.patch

---

Adds support for property overrides (-o property=value), property excludes
(-x property) and dataset limits (-l <volume|filesystem>) to zfs
receive.

Both -o and -x options mirror the functionality already available in
Oracle's ZFS implementation which is also mentioned in the upstream
feature request #2745:
https://www.illumos.org/issues/2745

The -l option allows receive to be limited to specific datasets within
the stream effectively allowing partial restores from a multi dataset
stream.