bgpd: make bgp_nlri_parse_encap conform with other nlri_parse funcs

* bgp_encap.{c,h} (bgp_nlri_parse_encap) afi is already in the NLRI argument.
  update or withdraw is signalled by attr being non-NULL or NULL.

* bgp_packet.c: (update_receive) fixup to match, and also make the attr
  argument conform with NLRI_ATTR_ARG for correct error handling on
  optional, transitive, partial, attributes.
diff --git a/bgpd/bgp_encap.h b/bgpd/bgp_encap.h
index 6f43b7b..7442c73 100644
--- a/bgpd/bgp_encap.h
+++ b/bgpd/bgp_encap.h
@@ -23,12 +23,7 @@
 #define _QUAGGA_BGP_ENCAP_H
 
 extern void bgp_encap_init (void);
-extern int bgp_nlri_parse_encap (
-    afi_t,
-    struct peer *,
-    struct attr *,
-    struct bgp_nlri *,
-    int withdraw);
+extern int bgp_nlri_parse_encap (struct peer *, struct attr *, struct bgp_nlri *);
 
 #include "bgp_encap_types.h"
 #endif /* _QUAGGA_BGP_ENCAP_H */