fix: skip datatype registration warning for duplicate types (#856)
Currently dpdata throws a warning if an existed data type is registered
again, even if with the same definition. This PR adds a check to skip if
the registered data types are identicle.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Improved object comparison and display for data types, allowing
equality checks and clearer string representations.
* **Bug Fixes**
* Reduced unnecessary warnings when registering identical data types;
warnings are now only shown if duplicate registrations differ.
* **Tests**
* Added tests for data type comparison, representation, and registration
behavior.
* Removed outdated test for duplicate data type registration.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Signed-off-by: Chun Cai <amoycaic@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>