fix: schema class can set Meta.unknown
This PR enables the Schema class of a model to determine the default unknown behavior. Without this, if you have a schema where you expect extra values to be present, every time deserialize or serialize is called, you must set unknown=INCLUDE. Now, in the Meta class of the Schema, unknown can be set to some value that will be respected as the default if not overrided by method parameter.
While I was at it, I also touched up some of the typing. I'm not fond of using @overload but I think it's the best way to address typing a method where a bool flag impacts the return type.
Codecov Report
Merging #1885 (d2ea331) into main (a16347d) will decrease coverage by
0.01%. The diff coverage is85.10%.
@@ Coverage Diff @@
## main #1885 +/- ##
==========================================
- Coverage 93.55% 93.53% -0.02%
==========================================
Files 539 539
Lines 34526 34559 +33
==========================================
+ Hits 32300 32326 +26
- Misses 2226 2233 +7
SonarCloud Quality Gate failed. 
0 Bugs
0 Vulnerabilities
0 Security Hotspots
0 Code Smells
No Coverage information
8.4% Duplication
Kudos, SonarCloud Quality Gate passed! 
0 Bugs
0 Vulnerabilities
0 Security Hotspots
0 Code Smells
No Coverage information
0.0% Duplication
