Devices: use designated initializers for device_id struct. This allow to easily add fields without breaking devices
Use separate shared operation for devices, device struct now filled in by specific functions
This allows for MSVC to 'continue' compiling and for developers not to suffer when adding a field to device_id struct
Devices: Move common_init call before init, uses basic inits for ptrhead inits, rename short_name to devcie name for device ops
Basic: Fix mistake in array initialization, Modify run_kernel test to check for error when enqueing kernel
TCE fixes, typos etc.
Typo fix.
Build fixes after the conflict.