auth_user support

query the database's pg_shadow table for user information,
instead of using a local userlist.txt.  Brings transparent support
for Postgres 9.0+ which no longer has a compatible file format.

Tested with trust and md5 auth_types only.
fix auth_user with session pooling

the auth_user pool wasn't releasing the server conn, so the
client would end up connected to the db as the auth_user
fix takeover of auth_user when dynamic user is connected to server
fix reconnects of auth_user dbs after online restart

if the user was a dynamic user, the only way the bouncer knows the
password was from a new client connection. if an existing client
starts a transaction before a new client connects, it will not know
the correct password. so pass that info along in the online restart
data.

note that this is backwards compatible - old bouncers just won't send
the password, and it's stuck until the client tries to connect
fix crash when using auth_conn and something times out during login

a client can be linked when in CL_LOGIN due to doing the auth query,
so be prepared to close the associated server as well.
detect server close due to synchronous callbacks
implement database-wide connection limit
evict old connections when needed (if possible) for max_db_connections
simplify oldest connection logic
keep track of connection count during online restart
Proper invalidation for autodbs

As autodb database entries are generated on the fly,
old invalidation code skipped them, so new config
was ignored.  This will hopefully fix it.

Reported-by: Moshe Jacobson
Small bug fix, must check calloc result
config.txt: update auth_file about 9.0+ situation.

Requested-by: Alexander Farber
Merge remote-tracking branch 'ccutrer/dev/auth_user'
Merge remote-tracking branch 'ccutrer/dev/max_db_connections'
gitignore: add more stuff
auth_query: make password loading query configurable
Allow numbers in hostname, always try to parse with inet_pton
Draft news, unedited