tasks/nfs: sync before unmounting or unexporting nfs clients/servers

We have some hope that this will resolve #8576 in the Ceph tracker.

Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@redhat.com>
Move OS class to its own files

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Add OS.__repr__() and OS.to_dict()

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Remove default for --os-type

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Query os_type and os_version in lock_many()

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Use os_type and os_version in lock_machines()

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>