bgpd: one more fix for tightening of check for missing well-known attributes

* bgp_attr.c: (bgp_attr_check) The check for missing NEXT_HOP has the right
  spirit, but wrong where it counts, on the logic.  It wouldn't catch a
  missing NEXT_HOP on a v4-only UPDATE.  It would though have incorrectly
  flagged next-hop as missing on multi-protocol-only UPDATEs.

  Caught by Martin Winter with a test-suite.
diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c
index da17e82..5e213db 100644
--- a/bgpd/bgp_attr.c
+++ b/bgpd/bgp_attr.c
@@ -1761,8 +1761,8 @@
   /* RFC 2858 makes Next-Hop optional/ignored, if MP_REACH_NLRI is present and
    * NLRI is empty. We can't easily check NLRI empty here though.
    */
-  if (CHECK_FLAG (attr->flag, ATTR_FLAG_BIT (BGP_ATTR_MP_REACH_NLRI))
-      && !CHECK_FLAG (attr->flag, ATTR_FLAG_BIT (BGP_ATTR_NEXT_HOP)))
+  if (!CHECK_FLAG (attr->flag, ATTR_FLAG_BIT (BGP_ATTR_NEXT_HOP))
+      && !CHECK_FLAG (attr->flag, ATTR_FLAG_BIT (BGP_ATTR_MP_REACH_NLRI)))
     type = BGP_ATTR_NEXT_HOP;
   
   if (peer->sort == BGP_PEER_IBGP