Replaced generic ``Any`` type annotations with a specific ``MetadataValue`` type alias (``str | int | float | bool | None``) for peer metadata handling, improving type safety and code clarity. Added runtime type validation in ``PeerData.put_metadata()`` to prevent storage of non-serializable objects. Also fixed ``get_metadata()`` return type from ``IPeerMetadata`` to ``MetadataValue``.
