Fixes concurrency bugs, cleanup and reorders code

  * Reordered code in LaunchFrame.java to fix concurrency and
    GUI blocking bugs
  * Moved FTBOSSent under dynamic storage
  * Reworked I18N:
     Added function to setup I18N without downloading
     Added function to only download new locales
     Added wait and sleep lock to ensure DL servers are found
  * DownloadUtils:
     Added setName() for thread
     Added log to to debug when thread is started
  * Added comment about concurrency bug in TexturePane.java
utils/AppUtils.java: Added waitForLock()

 * Added two static waitForLock functions which
   implements basic sleep and check locking.
 * Converted old code to use new functions
 * locale/I18N.java: fixed NPE
Add logging around waitForLock()s

 * waitForLock(boolean, String) really do not work. Generates too much
   spam into log and Logger is displaying wrong location
 * Added Log statements before and after waitForLock(boolean) usages
log to stdout

 * Testing code. Do NOT MERGE to upstream
Try more EDT to fix splash screen

 * probably useless.
 * Reordered LaunchFrame usually hits setProgress(120) before
   DownloadUtils has ordder to update splash screen
Fixed AuthlibDLWorker

 * Fixed AuthlibDLWorker's swingworker
 * LaunchFrame: GUI buttons ´made final and added getters
 * Launch button  will be enabled after AuthlibDLWorker
   is executed.
 * Launch button is possible to get enabled if user click other tab and
   returns back  to modpack tab. Minor problem. Did not fix that.
Refactored UpdateChecker to use SwingWorker

 * Will check for updates background in swingworker thread and opens
   LauncherUpdateDialog if needed
Added UnreadNewsWorker.java

 * Swingworker to check unread news and to set icon in news tabs