default_set_sd rewrite (and updates test case) to fix the following:

* SetSecurityInfo should not reset owner and group to default if SECURITY_INFORMATION does not contain OWNER_SECURITY_INFORMATION or GROUP_SECURITY_INFORMATION
* The create functions for objects (create_event, create_mapping, create_mutex, create_semaphore) should set defaults if the security descriptor is NULL (it already did this properly if the security descriptor is empty). Other create functions will follow in a different commit.
* For certain objects: The impersonation token of the thread should also be used to determine the default owner, dacl, not just the primary token.
* Any of the 4 SE_*_DEFAULTED controls should not be stored on the object, their usage is transient
Implements process and thread security descriptors in CreateProcess. (including test cases to test if it was set properly and removal of todo_wine's)

The ntdll private function NTDLL_create_struct_sd has been refactored into a public function wine_server_create_struct_sd so that other modules can use it to make server requests with security descriptors in them.