Merge pull request #2704 from HaxeFoundation/development

3.1.0
set changes.txt date
Merge pull request #2707 from HaxeFoundation/development

3.1.0 hotfix
Update README.md
optimize try/catch by not creating an activation block when the error is just rethrow (prevent extra allocation on each haxe.io.ByteInput read!)
improve error reporting for @:require(ident compare const)
filter null and "" in Path.join (closes #2709)
do not cast abstract this arguments to themselves (closes #2713)
(As3) cast Array using `as` (closes #2713)
add "final" to the list of keywords (report error with closure compiler, ES6 keyword?)
let's see what happens without --no-opt
remove atrocious UInt.toDynamic cast
add unify_with_variance and with_variance, use it for type parameter and @:to unification
CHANGES.txt update
happy new year
ensure @:to type is inferred correctly if return type is Dynamic
insert abstract casts to/from Dynamic only if cast function is strictly to/from Dynamic as well
add test for issue 2685 (closes #2685)
deal with member macro calls the same way as static extensions (closes #2003)
do not wrap constants used as static extension or member macros (closes #2720)