Add UUID support! - zreed, slipcor, t00thpick1

This commit updates our database managers to use UUIDs instead
of usernames for persistent storage.

Fixes #1979
SQLDatabaseManager optimizations,  async profile loading  -t00thpick1, zreed
This commit changes our shared connection into a connection pool utility to prevent
thread locks from multiple actions attempting to access the database at the same time.
In additon,  profile loading has been moved off the main thread at login time, to
allieviate the performance issues caused by it.

Fixes #2138, Fixes #2119, Fixes #1982, Fixes #1953