NetApp iSCSI: move zapi client logic into modules

This patch moves the logic for constructing zapi requests into its own modules
in order to reduce coupling with driver logic, improve testability, and improve
readability. This patch also adds unit tests around the zapi request logic.

partially implements bp improve-netapp-drivers