TypeHelper imrpovements

IsValueTypeRecursive -> The type is by value
IsBlittable -> The type can be converted to a byte sequence of fixed
size in the current platform
IsBinaryPortable -> the type can be converted to a byte sequence of
fixed size independently of the platform

Is it possible to create a deep copy by value to be used
- In the same program -> IsValueTypeRecursive
- In the same computer -> IsBlittable
- Anywhere -> IsBinaryPortable
Clone helper now offers to clone structs
Added clone and nesting support

- It is now possible to create nested transactions.
- If possible a value is cloned to be used in the transaction.