ASACORE-1152: PolicyDB doesn't apply OkToSend() rules for session messages

There are a few issues which are causing send rules to not be applied for
messages without a specific destination. In PolicyDB.h, the
NormalizedMessageHeader constructor grabs the message destination and
adds it to destIdSet. If a message doesn't have a specific destination
then GetDestination() will return an empty string, and this code will
happily add the empty string to destIdSet. So now instead of having an
empty destIdSet it has an IdSet which contains an id for "".

When PolicyDB::OkToReceive() is called it checks to see if destIdSet
is empty to decide if OkToSend() needs to be called. Since the empty
string was added to the destIdSet this check fails and OkToSend() is
never called.

After fixing this issue, the next problem was that if OkToReceive()
finds an empty destIdSet it tries to lookup the destination name and
only calls OkToSend() if the destination name is found. This is
preventing send_group and send_user rules from being applied to these
messages, we should be calling OkToSend() if the name lookup is
successful or not. The CheckBusName() function correctly handles an
empty ID set so it is safe to call OkToSend() even if the name isn't
found.

Change-Id: I4cb75716e32b0e4ca05427fbd64e2b692e477e95
Signed-off-by: Rob Smith <robs@microsoft.com>