Returning nil from transformPropertySet in order to remove it did
not work because it ends up comparing as (*bpPropertySet, nil) and
not an untyped nil which causes the test against nil to fail.
This change adds tests to check that returning nil will delete a
property/property set from the containing property set and fixes the
code so that it passes the tests. It extracts common code to transform
a property set and its contents as well as code for creating new
property sets.
Bug: 148933848
Bug: 153306490
Test: m nothing
Merged-In: I35dc3c39c76e701821891622615c09b094cf697f
Change-Id: I35dc3c39c76e701821891622615c09b094cf697f