Expand variables in configuration files

e.g. $HOME. Fixes #6373.
Wrap get_distribution_version() in the hostname module

We wrap get_distribution_version() with a new function,
_get_distribution_version(), that returns `0` when the result is a string or
`None`.

This accounts for the case when get_distribution_version() returns a string,
and we try to compare it to a float. We do this in the hostname module instead
of the module snippets because other modules may want the real string
version.module snippets because other modules may want the real string version.
Make sure to assign pyrax.cloudservers to cs. Fixes #8250
Merge pull request #8309 from veeti/cfg-vars

Expand variables in configuration files
Merge pull request #8311 from neersighted/wrap_distroversion

Wrap get_distribution_version() in the hostname module
Merge pull request #8313 from sivel/issue/8250

Make sure to assign pyrax.cloudservers to cs. Fixes #8250
Revert "Expand variables in configuration files" - I feel I've been here before.
Breaks some test runs.

This reverts commit a9eef029b61825f39d1a5301bb7923f9d1c0a8ce.
Unquote params passed to an include statement

Fixes #8315
Reworking _clean_data() to be smarter about replaces

Fixes #8228
Revert "template.py: Handle purposely raised exceptions in lookup()"

This reverts commit 2fda9bc743b66c676f07df7cc1f50bcbbdf39488.
Adding further integration tests for include params with quotes
Further enhancements for include params tests