zebra: clean up client routes when client goes away

  * zebra/zebra_rib.c: Add code to clean up routes added by a client
    (as identfied by 'rib type').

  * zebra/zserv.[ch]: Maintain the type of the routes added by a
    client on the 'zserv' structure -- assume that a given client uses
    a single route type for now.

    Clean up routes from a client when the client goes away (in
    zebra_client_close()).

From: Josh Bailey <joshb@google.com>
Signed-off-by: Avneesh Sachdev <avneesh@opensourcerouting.org>
Signed-off-by: David Lamparter <equinox@diac24.net>
diff --git a/zebra/zserv.h b/zebra/zserv.h
index a737183..e37041f 100644
--- a/zebra/zserv.h
+++ b/zebra/zserv.h
@@ -38,6 +38,10 @@
   /* Client file descriptor. */
   int sock;
 
+  /* Client route type. */
+  /* Assuming each client contains only one type of route. */
+  int route_type;
+
   /* Input/output buffer to the client. */
   struct stream *ibuf;
   struct stream *obuf;