adjust channel setsize to account for db's max open files

If leveldb.max_open_files is large and maxclients is small, then clients can fail to connect because the fd for their socket has a number larger than maxclients, even if only a single client is connecting. This adjusts the fd limits to take into account the number of files the db is allowed to have open.
I think we do not need this 'if'  for only LevelDB/RocksDB  here.  For 'lmdb', we can override the 'MaxOpenFiles' function and return 2 directly. (lmdb would only open 2 file.)