Implement range search for characters

Use the projection algorithm described by Bentley in "A SURVEY OF
TECHNIQUES FOR FIXED RADIUS NEAR NEIGHBOR SEARCHING" (1975) to speed up
the search of characters in a given range below O(n).

Link: http://www.slac.stanford.edu/cgi-wrap/getdoc/slac-r-186.pdf
Merge branch 'testserver' into range_search
Update position in search structure properly
Fix test with characters
Fix some issues with range search

More than one character can be on the same field, use multimap.
Remove unused method getCharacterID.
Clear position container in central clear method.
Fix server crash on shutdown (issue #9054)

Players are only saved by the player save thread on shutdown now.
PlayerManager::saveAll is still dubious and should be removed, as it
can easily crash the server.

All threads are terminated regularly now (join).
Improve logging for maps

Less verbose, log single maps on error only.
Merge branch 'range_search' into testserver
Fix issue #8565: double login
Remove dangerous method PlayerManager::saveAll