netd: Add enhanced routing support

Add support for policy and metric based routing APIs to netd. This
functionality is used for WQE, IMS, and Android QoS features.

Combined merge commit for following commits:

(cherry picked from Ia22847dd9611ff16eea25336716d4440461565e0)

netd: add metric support for routing
Add support for adding of cost (metric) of a route.
Changed call to ip from logwrapper to popen to handle errors caught during
a route operation.

netd: Add policy routing functionality to netd
Adding a new class RouteController to handle policy routing (source)
functionality in netd.
Installing a handler in CommandListener to handle policy routing
commands.

netd: Validate input argument for Route commands
Check for valid command line argument that is
passed to RouteController module.
CRs-fixed: 569443

RouteController: use fixed priority for ip rule
Use fixed priority when adding source policy rules
CR-fixed: 613222

Conflicts:
	server/CommandListener.cpp
	server/CommandListener.h

Change-Id: Ic828041d8f5be77a764ce22c45c5091ee8ae6dd2
wlan: Add softap support through ndc commands.

Changes required to support the softap commands
through ndc cli. This new support as part of the
64bit enablement and ndc is used for cli automation
in softap testcases.

Change-Id: I460a3785c3b4a44656281c7243ebdf921fe20f91
CRs-Fixed: 710050
netd-client: support for intercepting socket and connect

Allow for hooks to capture the socket and connect calls
and handle them in external shared lib

Change-Id: I0eb7ac3b819d0f08351f33a39051d2542635a3a0
netd: Fix 64bit incompatibility issue for NDC commands

Due to 64-bit incompatibility NDC commands output was not printed
on consolse. This commit handles 64-bit incompatibility issues and
ensures NDC command output are printed on console in proper format.

Change-Id: I4fe4dcdf9f991d361e6273bf715671c4cd160e76
CRs-Fixed: 726587