the redis_version fact isn't always accurate on the first Puppet run.
It's calculated at the start of the run which can be problematic when a
package repo is introduced during the run containing a newer Redis
version or no Redis package was available at the start of the run.  In
the first case the fact will assume the lower version but during the run
after realizing a package repo containing a newer version a file
resource just set 'ensure => present' will install the later version and
result in a mismateched config file.  In the second sccenario
redis_version will be nil and result in a blank config file.

This change will:
- changes the template to use $redis_version_real
- if $redis_version_override is set then $redis_version_real will be set
to that in order to handle the nil case in the fact.
- if $package_version is set to a package version then
$redis_version_real will be set from that or use $redis_version