Add config setting for api reporting.

For now, will be disabled in some cases, but I want people to be able
to set to "" so that it will always be disabled.
Add basic server reporting interface, needs work.
Cleanup, add notes for server reporting.
Add a simple spam protection limit to reporting.

And some small refactor.
Send server reports on a separate thread.

Well, maybe could be more efficient, but mostly worried about latency
not thread creation.
Enable on non-Windows, works on Linux anyway.
Add some basic reporting hooks.
Report the format string as a separate param.

This way it can have a "class" of messages more easily.
Add some reporting for CPU related stuff.
Add some reporting for not yet done dialogs.
Android / iOS buildfix.
Merge pull request #859 from unknownbrackets/report-server

Server reporting (off by default)