ASACORE-1158: TCP connections from the local machine need to be treated as desktop apps

Windows app isolation policies don't allow Windows Universal Applications to communicate
with Desktop Applications. We already enforce this policy for apps connecting through the
named pipe daemon transport, but we also need to enforce this for the TCP and UDP
transports. Finally, this needs to work for apps connecting directly to our router and
apps who use a bundled router but are still running on the same machine as our router.

The change continues to use the groupId to classify applications and our existing policydb
rules to filter out the disallowed communications. Since we are now using groupId in all
endpoints I moved the implementation of Get/SetUserId() and Get/SetGroupId() to
BusEndpoint.h. The methods already had a default implementation in this class, now we
don't have to redefine these methods in all the various subclasses. I also removed the
implementations that already existed in subclasses so they will use the default.

Next I modified the connection steps for the TCP and UDP transports and added a new check:
when a client connects the transport will compare the remote IP address with the local
machine's IP addresses. If there is a match then we know the endpoint is running on the
same PC and therefore should be treated as a desktop application so the groupId will be
set accordingly.

The next step was to ensure endpoints connecting through a bundled router are also treated
as desktop apps. This was accomplished by changing VirtualEndpoints to inherit the user
and group ID from their bus-to-bus endpoint since that is the machine they are connecting
through.

While these changes can execute on all platforms and shouldn't cause any issues, they only
have value on the Windows platforms, so I have encased most of them in #ifdef
QCC_OS_GROUP_WINDOWS statements. I don't like adding #ifdefs to the code, but I couldn't
think of a better way to isolation this code. The easy alternative would be to run this
logic on all platforms, and I can make that change if you'd like. Please let me know if
you have any suggestions for how this change can cleanly implemented for Windows only
without ifdefs.

Change-Id: I70ce813eca475b490fcac23d4f0f22529e738e15
Signed-off-by: Rob Smith (WINDOWS) <robs@microsoft.com>
Merge "ASACORE-1158: TCP connections from the local machine need to be treated as desktop apps" into RB14.12