Zpool module

Create and modify a Zpool.

This Pull Request is based on ansible/ansible#8205. I think it was lost when the Module Repos were reorganized.
I fixed some Errors and add a new Feature: Add new devices to an existing pool. This allows Pools with nested Raid Levels like Raid10 or Raid50. 
Is the idiom in ansible to create one mega object that wraps all the parameters, or to create a backing object and call methods on it? My untrained eye sees the code here as being the former structure and would prefer something more akin to:

```
if state == 'present':
    if zpool.exists():
        zpool.ensure_properties(features)
    else:
        zpool.create()
```