Fix argument checking on empty dict with double stars (#9629)
### Description
Closes #5580
Previously, the type of empty dicts are inferred as `dict[<nothing>, <nothing>]`, which is not a subtype of `Mapping[str, Any]`, and this has caused a false-positive error saying `Keywords must be strings`. This PR fixes it by inferring the types of double-starred arguments with a context of `Mapping[str, Any]`.
Closes #4001 and closes #9007 (duplicate)
Do not check for "too many arguments" error when there are any double-starred arguments. This will lead to some false-negavites, see my comment here: https://github.com/python/mypy/issues/4001#issuecomment-714628193
### Test Plan
Added a simple test `testPassingEmptyDictWithStars`. This single test can cover both of the issues above.
I also modified some existing tests that were added in #9573 and #6213.