Fixed a few cross-reference links for file.replace
State calls now fail if non-supported arguments are used. Fixes #6962.

* Removed `format_call` from `salt.state.State` since it was almost a one to one copy of `salt.utils.format_call`.
* The `format_call` in `salt.utils` was modified to accept initial return data(to provide the functionality from the removed `State.format_call`.
* While the function arguments are being queried/matched, those used are removed from a copy of the passed data. Once finished, any remaining keyword arguments which do not match those allowed on the `expected_extra_kws` keyword argument to `format_call` will raise a `SaltInvocationError`.

This will prevent any future bogus bug searching like what happened on #6912 because the wrong state function argument was being passed.
Updated docstring. Double to single quotes.
Instead of failing, let's return warnings to the user to know what's going on.
Use `salt.utils.is_windows()`.
Formatting, Coding Style and PEP-8.
Use the already existing `context` keyword.
`salt.utils.decorators` is now a package.
`SaltInvocationError` now also subclasses `TypeError`.
Improved logging messages formatting.