isisd: reapply patch to fix zebra protocol

Reapply the bits of revision b4e45f6 that pertain to isisd. That is:
  git log -n 1 -p b4e45f6 -- isisd

These were dropped in the merge with the Google ISIS code (14d2bbaa).

The commit message for b4e45f6 is:

    fix zebra protocol after MP-BGP changes

    The previous commits modified both zebra and bgpd for additional
    SAFI field, but not any other routing daemon, which led to zebra
    daemon crashing with failed assertion.
diff --git a/isisd/isis_zebra.c b/isisd/isis_zebra.c
index 467122f..2df7462 100644
--- a/isisd/isis_zebra.c
+++ b/isisd/isis_zebra.c
@@ -256,6 +256,8 @@
       stream_putc (stream, flags);
       /* message */
       stream_putc (stream, message);
+      /* SAFI */
+      stream_putw (stream, SAFI_UNICAST);
       /* prefix information */
       psize = PSIZE (prefix->prefixlen);
       stream_putc (stream, prefix->prefixlen);
@@ -304,6 +306,7 @@
       api.type = ZEBRA_ROUTE_ISIS;
       api.flags = 0;
       api.message = 0;
+      api.safi = SAFI_UNICAST;
       prefix4.family = AF_INET;
       prefix4.prefixlen = prefix->prefixlen;
       prefix4.prefix = prefix->u.prefix4;
@@ -333,6 +336,7 @@
   api.type = ZEBRA_ROUTE_ISIS;
   api.flags = 0;
   api.message = 0;
+  api.safi = SAFI_UNICAST;
   SET_FLAG (api.message, ZAPI_MESSAGE_NEXTHOP);
   SET_FLAG (api.message, ZAPI_MESSAGE_IFINDEX);
   SET_FLAG (api.message, ZAPI_MESSAGE_METRIC);
@@ -417,6 +421,7 @@
   api.type = ZEBRA_ROUTE_ISIS;
   api.flags = 0;
   api.message = 0;
+  api.safi = SAFI_UNICAST;
   SET_FLAG (api.message, ZAPI_MESSAGE_NEXTHOP);
   SET_FLAG (api.message, ZAPI_MESSAGE_IFINDEX);
   api.nexthop_num = listcount (route_info->nexthops6);