refactor vpn management module
Some factors to take into account from previous reviews:
-
use a twisted protocol, and a string-based endpoint for tcp/unix sockets. -
reduce the level of indirection -
remove the looping calls -
use the management interface for displaying logs and state. -
centralize status parsing -
keep a log of state transitions that the ui/cli can request. -
add unit tests