net/addr/subnet: Add class for representing a network subnet

This makes it possible to represent and IPv4/IPv6 CIDR network segment
via a class. Provides useful functions to compute base address and
determine if addresses are inside the subnet.

Change-Id: Ib9d01e28b6c8a28ccb622fef87b217fc96daf905
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/src/meson.build b/src/meson.build
index dd67b35..47fcd33 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -52,6 +52,7 @@
   'hash/tuple.cpp',
   'net/addr/ether.cpp',
   'net/addr/ip.cpp',
+  'net/addr/subnet.cpp',
   'numeric/endian.cpp',
   'pinned.cpp',
   'raw.cpp',