- Added FactoryInterface for creating OTP objects from provisioning URIs.
- Introduced HOTP class for generating and verifying HMAC-based OTPs with counter support.
- Created HOTPInterface to define methods for HOTP operations.
- Added InternalClock class for handling time-based operations.
- Developed base OTP class with common functionality for OTP generation and parameter management.
- Implemented TOTP class for time-based OTP generation, including period and epoch management.
- Created TOTPInterface to define methods specific to TOTP operations.
- Added Url class for parsing and managing OTP provisioning URIs.
- Enhanced error handling with specific exceptions for invalid parameters and URIs.