2014.7 eselect improvements

This PR introduces quite a few improvements to the `eselect` module and state.
Most of the changes are improvements to the documentation and some safe-guards to deal better with some specific scenarios, but also introduces new features.

Until now, the `parameter` param was used throughout the state and module, but this was limiting the use-cases of `eselect` in Salt quite a bit as outlined by @podshumok in #18783.
This PR deprecates (but still supports) the usage of `parameter` and introduces `module_parameter` and `function_parameter`. This allows a more fine-grained control over what the module and state can do and also fixes the issue described in #18783.