NsdService does not clean up after exiting clients

When a client of the NsdService exits, NsdService should
clean up the requests it has sent to the mDNS daemon:
cancel any pending resource-discovery and resource-resolution
queries, and remove any services registered by this client.

If this isn't done, several bad things happen. The daemon will
continue to run unnecessarily, will report service discoveries
that can't be forwarded on to the client, and will continue to
advertise service ports for an application which is no longer
running until the device is rebooted (mDNS pollution).

Bug: 9801184
Change-Id: I0aa7311480322aefcff16f902fbbf34f50985d38
[1/2] Base: Lockscreen blur enhancements

Changed base for lockscreen blur to AOSPAL

Thanks to Kyrylo Mikos <kiril.mik.os@gmail.com>
for smooth background change patch

Change-Id: I9bf0f37b99d2277f1e62c3a108ad51c5e340b711

Fix possible NPE