Add AesCbc struct with:
- CBC mode encryption with PKCS#7 padding
- CBC mode decryption with padding validation
- XOR chaining with IV for first block
- Expose encrypt_block/decrypt_block as pub(crate)
Add pkcs7_pad and pkcs7_unpad functions for block cipher modes:
- Pad data to block size multiples with N bytes of value N
- Validate and remove padding on decryption
- Add InvalidPadding variant to CipherError
Add 128-bit IV type using secret_block! macro with:
- Parsing from hex/binary/ASCII strings
- Conversions to/from Block128 for XOR operations
- Big-endian byte array conversions