propertywatch: Add ignore_start_callback config

Add an optional `ignore_start_callback` config to indicate if the
callback shall be ignored on start.

By default the callbacks in property watch are called on start.
There are cases where we do not want such behavior and only expect
callbacks on property changes.

Add the `ignore_start_callback` so that we could config a watch to not
trigger the start callback.

Tested: Verify the callback is not called if the watch config has
        `ignore_start_callback: true`

Signed-off-by: Lei YU <yulei.sh@bytedance.com>
Change-Id: I7e5887cc8b0d0775d9b3d689f1511250667aaa5b
diff --git a/src/pdmgen.py b/src/pdmgen.py
index 0f9a13b..925dd21 100755
--- a/src/pdmgen.py
+++ b/src/pdmgen.py
@@ -676,6 +676,8 @@
         # Pop optional filters for the properties being watched
         self.filters = kw.pop('filters', None)
         self.callback = kw.pop('callback', None)
+        self.ignore_start_callback = kw.pop('ignore_start_callback', False)
+        self.ignore_start_callback = 'true' if self.ignore_start_callback else 'false'
         super(PropertyWatch, self).__init__(**kw)
 
     def factory(self, objs):