Fixing scope issues where undefined boolean variables still contained their value from the previous run

Example:

```
logrotate::rule { 'foo1': path => '/var/log/foo1', compress => true; }
logrotate::rule { 'foo2': path => '/var/log/foo2'; }
```
Given the above puppet example, both '/var/log/foo1` and `/var/log/foo2`
would have `compress` set.
Removing su else; the su option requires arguments.