feat(pdftract-51bk): implement ProfileType, Profile, MatchPredicate types
- Add ProfileType enum with 10 variants (invoice, receipt, contract, etc.)
- Add Profile struct with name, type, predicates, threshold (default 0.6)
- Add MatchPredicate enum with 12 predicate kinds (text_contains, text_matches_regex, structural_has_table, etc.)
- All types support serde YAML serialization/deserialization
- ProfileType uses snake_case for YAML compatibility
- MatchPredicate uses tagged enum representation (kind field)
- Comprehensive unit tests for all variants and roundtrip serialization
Closes: pdftract-51bk