Try to simplify apoptosis/DeleteConnection locking mess.
Select() error code is no longer lost because of recv().
Merge pull request #1678 from jimis/select_error_lost

Select() error code is no longer lost because of recv().
Merge pull request #1676 from jimis/serverd_deadlock_fix

Try to simplify apoptosis/DeleteConnection locking mess.
Don't use Read/WriteDB inside a cursor loop.

LMDB doesn't allow multiple transactions per thread. Opening a cursor
opens a transaction, and so does Read/WriteDB. So, either re-use values
from cursor, or populate a sequence with keys, and then lookup the
individual values in a separate loop.

Note: Previously, the WriteDB code reused the transaction from an open
cursor, but that is making the entire LMDB driver not thread-safe.
Merge pull request #1679 from vohi/fix_db_cursor_usage

Don't use Read/WriteDB inside a cursor loop.
Merge pull request #1680 from maciejmrowiec/master

Add LoadDatabaseToStringMap utility function
Remove superflous include.

cf-key uses functions from lastseen, not the DB API directly.
Fix linker errors in unit tests.
Cleanup in LoadDatabaseToStringMap;
* use xmemcpy
* check for none null terminated key