Clean up debug line
Don't apply optional groups directly when user does not exist

This code was perfectly fine with puppet 2.7.x but now with puppet
3.6.x, when we leave things as is, puppet automatically adds the
provided value to the underlying "useradd" command and adds the "-o"
flag (don't know why at all...), resulting in exceptions like this:

  # puppet apply -v -e "user { 'test': ensure => present, optional_groups => ['no-exist','staff','blah','wheel','ssh'] }"
  <...>
  id: test: No such user
  Error: Could not create user test: Execution of '/usr/sbin/useradd -o ssh,staff test' returned 2: useradd: -o flag is only allowed with the -u flag
  <...>
  Error: /Stage[main]/Main/User[test]/ensure: change from absent to present failed: Could not create user test: Execution of '/usr/sbin/useradd -o ssh,staff test' returned 2: useradd: -o flag is only allowed with the -u flag

With this we don't converge optional groups in the first run, which is
not great in theory BUT works. And unlike many people in the puppet
community, I don't give a fuck about philosophy, so as we say, "take
that haters" :)