Watchdog for GroupVPN

 - When TinCan does not respond it kills the process and restarts
   it
 - When TinCan fails consecutively more than three times, it
   terminates itself.

To keep the current level of readability of gvpn_controller.py, I 
separate the watchdog.py. This watchdog module will keep the 
TinCan binary and Controller itself persistent. If error occurs in 
TinCan, it terminates TinCan process and restarts it and reinitiate
the connection. If TinCan error occurs more than certain 
threshold(3), it terminates controller itself. 

 Current implementation does not detect nor restarts the controller
itself.