bgpd: Make socket init separate, so unit tests work again.

* Separate out BGP socket initialisation from bgp_get, and make it an
  explicit function. Allows unit tests to work again and probably also
  benefits dry-run.
* bgpd.c: (bgp_get) move socket init out...
  (bgp_socket_init) to here
* bgp_main.c: and call it after dry-run.
* bgpd.h: (bgp_socket_init) add prototype
diff --git a/bgpd/bgp_main.c b/bgpd/bgp_main.c
index 0f1d482..5abc875 100644
--- a/bgpd/bgp_main.c
+++ b/bgpd/bgp_main.c
@@ -441,6 +441,12 @@
   if(dryrun)
     return(0);
   
+  if (bgp_socket_init ())
+    {
+      zlog_err ("BGP socket creation failed");
+      return 1;
+    }
+  
   /* Turn into daemon if daemon_mode is set. */
   if (daemon_mode && daemon (0, 0) < 0)
     {