Fix some issues with new Dict constructors

- If either the keys or values has the same type for all Pairs, use
  that type
- Deprecations for removed constructors
Merge pull request #8627 from JuliaLang/sjk/dict-cleanup

Fix some issues with new Dict constructors