Derive macro for DdsType

This package provides a derive macro for DdsType to support dust-dds.

DdsType can only be derived for structs, tuples and enums. For structs and tuples, the attribute #[key] can be specified either on the whole type or on a subset of fields.

Example

A typical user DDS type will look like this:

```rust use dustdds::topicdefinition::type_support::{DdsType} use serde::{Deserialize, Serialize};

[derive(Deserialize, Serialize, DdsType)]

struct HelloWorldType { #[key] id: u8, msg: String, }

```