Code simplification and optional PAM support

I've simplified some if-else constructs by using Puppet's selector. This should make it easier to browse the code and understand then intention of the author.

I've also added an option to enable PAM. On Ubuntu 12.04 LTS there is some initialization done which needs either UseLogin or UsePAM enabled. UseLogin is disabled by default on Ubuntu, but UsePAM is enabled. Without them enabled, you get warnings about missing locales if the client uses a different locale than the server. This results in subsequent error messages of tools like apt, bash's commandline completion or command-not-found.