Improve how the Contributions Manager handles no internet connection (or an unreliable one)

This resolves [#2426](https://github.com/processing/processing/issues/2426).

2 main types of errors have been identified:  
  
1. UnknownHostException, which happens when there is no internet connection
2. SocketTimeoutException, which happens for an unreliable connection, or a connection which gets cut in between a download
  
The following error messages have been used for the contributions.txt:  
  
* SocketTimeout: Connection timed out while downloading the contribution list.  
* UnknownHost:  Could not download the list of available contributions.  
  
and for the contribution itself:  
  
* SocketTimeout: Connection timed out while downloading <contrib_name>.  
* UnknownHost: Error during download and install of <contrib_name>  
  
In case the contributions.txt file doesn't download, a Retry button has been added, and all install and update buttons will be disabled.