implemented more flexible auth support

Specifically it's now possible to have different kind of auth on per
bucket basis. As well as perform special auth exchange on freshly
established memcached connections.

This is going to be used by cbauth integration.