Refactor Gadget constructor

The Gadget constructor no longer requires the definition and
a timestamp. To set those, the setter methods of setSettings,
setModuleData, and setTimestamp were added.

Bug: 69368
Change-Id: I614098c6b29e65fd258a2b91213e3daaf5c8f3a0
Add a test for Gadget::__construct

Change-Id: Ie28e3f921e85552d9fb62abb37cfd406f4fc0569