Stop using the deprecated `check_dns` in `salt.config.minion_config`.
Properly deprecate `check_dns`.

Instead of having to leave `**kwargs` "forever" in `salt.config.minion_config` and `salt.config.apply_minion_config` in order to support API access to those which still passes `check_dns`. Support the argument but show a deprecation warning once. Leave the deprecation warning for 2 major releases. Then, finally, and properly, remove `check_dns` for good.
Added a helper function to raise warnings until a specified salt version.

The helper raises a warning, by default, a ``DeprecationWarning``, until the provided ``version_info`` is matched, after which, a ``RuntimeError`` will be raised to remember the developers to remove the warning.
**ALL** Salt `DeprecationWarning`'s should be shown **once**.
Replaced occurrences of `warnings.warn` with `salt.utils.warn_until`.
Allow `salt.utils.warn_until()` to not issue the warning because we're only after the `RuntimeError` behaviour.
Marked specific places which need code removal on salt >= 0.18
Document the deprecation procedure to follow and how to use the helper class.
Moved deprecation documentation to it's own document under topics/development
Merge pull request #6242 from s0undt3ch/hotfix/replace-kwargs-with-a-proper-deprecation

Properly deprecate `check_dns`