Strenghtened the duplicate table creation to generate a clean and easy to use table (with an index, key column and timestamp). Also ensured the /duplicates switch works on PatchAutomation.
Adding ExecuteScalar method to the DatabaseAPI wrapper.
Adding security around the API wrapper. On execption we now throw for the non scalar and non query executions.
Making use the the DatabaseAPI methods everywhere now. This allowed me to simplify much of the code:

* PatchAutomation and ZeroDayPatch no longer need the ensure_exclusion_table_Exist method as we can run the task on a single line.
* ZeroDayPatch procdure_installed method was shortened and simplified with the use of the DatabaseAPI new methods.