-Change: align the NVLIST_HANDLERS dict to make it more readable.
-Add: MAXNAMELEN defines.

We'll be needing those later.
-Add: decorators for LibZFSHandle to require or auto-claim a active handle
-Add: ZPool properties.

Note, this requires a (valid) active handle to libzfs, hence the
decorator.
The difference over other libs (like pyzfscore) is that property output
can be up to MAXNAMELEN data.. if we do not allocate enough data, we
might just only get the first bit of data (8 bytes, in most cases)...
this might work for non-literal values, but not for literal.