Add proptools.CloneEmptyProperties
Add proptools.CloneEmptyProperties

Modules that want properties that vary by variant often need to create
zeroed copies of property structs.  Add CloneEmptyProperties to proptools
that is the equivalent of calling CloneProperties and then ZeroProperties,
but is much faster because it directly creates zeroed objects.

Saves 200ms in Context.ParseBlueprintsFiles and Context.ResolveDependencies
in one case, which will be valuble when we start parsing Blueprints files
for cases where we are not regenerating the manifest, for example when
generating documentation or doing context-aware bpfmt.

Change-Id: I3d4a6af2f393886d95f27d15afc1a455d8dd5fc6

google/blueprint,Tiger66639/blueprint,colincross/blueprint,danw/blueprint,yuhangwang/blueprint,google/blueprint,Tiger66639/blueprint,colincross/blueprint,danw/blueprint,yuhangwang/blueprint