Add full support for UIDs in VPNs.

Major:
+ Implement the functions mentioned in http://go/android-multinetwork-routing
  correctly, including handling accept(), connect(), setNetworkForSocket()
  and protect() and supporting functions like canUserSelectNetwork().
+ Eliminate the old code path of getting/setting UID ranges through
  SecondaryTableController (which is currently unused) and mUidMap.

Minor:
+ Rename some methods/variables for clarity and consistency.
+ Moved some methods in .cpp files to match declaration order in the .h files.

Bug: 15409918
Change-Id: Ic6ce3646c58cf645db0d9a53cbeefdd7ffafff93
diff --git a/server/Network.h b/server/Network.h
index b10cb17..f72cebb 100644
--- a/server/Network.h
+++ b/server/Network.h
@@ -36,6 +36,7 @@
     virtual ~Network();
 
     virtual Type getType() const = 0;
+    unsigned getNetId() const;
 
     bool hasInterface(const std::string& interface) const;