quagga: option "-z" ("--socket <path>") added

All daemons modified to support custom path to zserv
socket.

[reapplied from b511468 after isisd merge]
diff --git a/isisd/isis_main.c b/isisd/isis_main.c
index 67dc154..f5266aa 100644
--- a/isisd/isis_main.c
+++ b/isisd/isis_main.c
@@ -34,6 +34,7 @@
 #include "privs.h"
 #include "sigevent.h"
 #include "filter.h"
+#include "zclient.h"
 
 #include "isisd/dict.h"
 #include "include-netbsd/iso.h"
@@ -78,6 +79,7 @@
   {"daemon",      no_argument,       NULL, 'd'},
   {"config_file", required_argument, NULL, 'f'},
   {"pid_file",    required_argument, NULL, 'i'},
+  {"socket",      required_argument, NULL, 'z'},
   {"vty_addr",    required_argument, NULL, 'A'},
   {"vty_port",    required_argument, NULL, 'P'},
   {"user",        required_argument, NULL, 'u'},
@@ -133,6 +135,7 @@
 -d, --daemon       Runs in daemon mode\n\
 -f, --config_file  Set configuration file name\n\
 -i, --pid_file     Set process identifier file name\n\
+-z, --socket       Set path of zebra socket\n\
 -A, --vty_addr     Set vty's bind address\n\
 -P, --vty_port     Set vty's port number\n\
 -u, --user         User to run as\n\
@@ -252,7 +255,7 @@
   /* Command line argument treatment. */
   while (1)
     {
-      opt = getopt_long (argc, argv, "df:i:hA:p:P:u:g:vC", longopts, 0);
+      opt = getopt_long (argc, argv, "df:i:z:hA:p:P:u:g:vC", longopts, 0);
 
       if (opt == EOF)
 	break;
@@ -270,6 +273,9 @@
 	case 'i':
 	  pid_file = optarg;
 	  break;
+	case 'z':
+	  zclient_serv_path_set (optarg);
+	  break;
 	case 'A':
 	  vty_addr = optarg;
 	  break;