make web/cauth thread safe

DEMO - for user:huey pass:huey group:foo:
```
~/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: ./cauth sudo huey huey foo
ERROR cauth.c:162] pam_authenticate for user:huey returned 7: Authentication failure
authenticate() returned 2

# plu@plu-9: sudo ./cauth sudo not-user huey foo
ERROR cauth.c:162] pam_authenticate for user:not-user returned 7: Authentication failure
authenticate() returned 2

# plu@plu-9: sudo ./cauth sudo huey not-pass foo
ERROR cauth.c:162] pam_authenticate for user:huey returned 7: Authentication failure
authenticate() returned 2

# plu@plu-9: sudo ./cauth sudo huey huey not-group
ERROR cauth.c:174] unable to find user:huey in group:not-group
authenticate() returned 4
```

DEMO2 - serviced.log - pam auth error shown with invalid username or password:
```
ERROR /home/plu/src/europa/src/golang/src/github.com/control-center/serviced/web/cauth.c:170] pam_authenticate for user:plu returned 7: Authentication failure
I1024 20:00:57.712869 01737 session.go:161] Attempting to validate user plu against the control center api
E1024 20:00:57.714197 01737 session.go:172] Unable to validate credentials No such entity {kind:user, id:plu}
2014/10/24 20:00:57 401 1.754301466s POST /login
```

DEMO3 - serviced.log - error shown with user not in admin group:
```
ERROR /home/plu/src/europa/src/golang/src/github.com/control-center/serviced/web/cauth.c:182] unable to find user:huey in group:sudo
I1024 20:01:08.074672 01737 session.go:161] Attempting to validate user huey against the control center api
E1024 20:01:08.076460 01737 session.go:172] Unable to validate credentials No such entity {kind:user, id:huey}
2014/10/24 20:01:08 401 23.114035ms POST /login
```