Add support for AIX osfamily and refactoring

In order to enable our AIX hosts to use this module, I had to make some little modifications to your module.
I've tried to modify as little as possible in your code in order to make it modular and easier to maintain. I didn't modify any of your _public module interface_ so you shouldn't have any backward compatibility issue.

What I've done is:

* Split class `base` in `config`, `install` and `defaults`.
* Use top-level variables that enable caller to overwrite default values.
* Adds support for IBM AIX.
* Use global variables instead of Linux hard-coded values.

I think that this more modular design could be easier to maintain in the long term with non-Linux O.S support.

My tests were currently only done with `puppet apply ...` and everything seems to work on Linux (CentOS) and AIX.
I've **not** updated any of your tests so I expect the C.I build to fail just after this Pull Request will be created. I'd like to have first your opinion about the design I've done before going into further modifications.

I'm waiting for your point of view about this.

Cheers
Should be `scope.lookupvar('::logrotate::config_dir')`.