Issue title: First synchronization cycle does not create dataset on the remote location
 Issue body: Hi,

In these two following cases znapzend work in a different way:

1. Create znapzend task when there's no destination dataset created. Synchronization will not work until remote dataset is created. 

`[Tue Mar 15 15:35:49 2016] [warn] destination 'mrogers@example.net:Pool-0/test' does not exist or is offline. will be rechecked every run...`

2. Create znapzend task when there's destination dataset created. Synchronization works. Delete destination dataset. Dataset will be created automatically at the next round.

```
mrogers@example.net:~$ zpool history 
History for 'Pool-0':
...
310-907-8995:29:31 zfs destroy Pool-0/test -r -R -f

mrogers@example.net:~$ zfs get version Pool-0/test
cannot open 'Pool-0/test': dataset does not exist
```

```
mrogers@example.net:~$ zpool history 
History for 'Pool-0':
...
310-907-8995:29:31 zfs destroy Pool-0/test -r -R -f
310-907-8995:30:17 zfs recv -F Pool-0/test

mrogers@example.net:~$ zfs get version Pool-0/test
NAME         PROPERTY  VALUE    SOURCE
Pool-0/test  version   -        -
```

What do you think about unifiynig this behaviour? In both cases destination dataset could be created automatically when it does not exist on the destination location. As an addition there could be added "check" if destination location has sufficient size for dataset to be created.

Regards,
PK

 Comments: 
 Comment 0: I just merged a PR which adds an option to create any remote fileset ... 

{'source': 'GithubIssues', 'repo_name_with_owner': 'oetiker/znapzend', 'issue_id': 141217413, 'repo_stars': 546.0}