Fixed new version checker to work under linux

 * Simplified getJavaVersion()
   Returns JavaInfo object
 * LaunchFrame.java and OptionsPane.java:
   Use JavaInfo's getMajor and getMinor instead of unnamed array
 * JavaInfo.java and JavaFinder.java: minor edits
Merge pull request #707 from jikuja/fix_linux

Fixed new version checker to work under linux
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
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