Refactoring towards nmcli abstraction

Do the #11 PR first (because this one includes the #11's content)

All IO are in the main module.
In HWifi, remains pure or WifiMonad output function.
Now in Network/HWifi modules, we can see clearly a pattern desired to be
abstracted.

What do you think?