make getpwnam thread safe

TODO: make getgrgid threadsafe

DEMO1 - :
```
~/src/europa/src/golang/src/github.com/control-center/serviced/web
# plu@plu-9: gcc -DUNIT_TEST_CAUTH -o cauth cauth.c -lpam

# plu@plu-9: id huey
uid=1003(huey) gid=1003(foo) groups=1003(foo)
# plu@plu-9: sudo ./cauth sudo huey huey foo
authenticate() returned 0
# plu@plu-9: sudo ./cauth sudo huey huey not-foo
ERROR cauth.c:115] unable to find user:huey in group:not-foo
authenticate() returned 4
```