[reorganization] Added auxiliary methods to ArchiveKey.
[reorganization] Serialize doesn't work with pure virtual classes without registering.
[reorganization] Simplified code by not storing ComputinUnit pointer, but the object itself.
[reorganization] Added argument checking to task creation and made ComputingUnits easier to define.
[reorganization] Minor formatting change.
[reorganization] Forgot to add a header.
[reorganization] Got every compile-time utility in a single header.
[reorganization] Corrected a bug in task creation and now tuple are stored converted to the resulting type.
[reorganization] Added a computing unit to convert between types.
[reorganization] Changed place of convertion static assert.
[reorganization] Added automatic task conversion.
[reorganization] Specialized identity task creation if the argument is another task.