Updated connection's constructor to take a commandList<char[]> 
and run loop for each command in the list
improved fetch all panel information by separating whole package into 16
smaller ones. Connection is running on a backgound thread and having a
loop, fetching 16 pieces in a row. 

Also created CommandFactory.java for create commands.

Known issue, transmition is slow.
Update: socket is not closed after each packeage received, instead, it
is closed after all 16 packages received.

This change improved download performance, faster.
created a progressBar to indicate user the progress of downloading
packages from oanel; 

added handler to update progressBar as well to deal with multi threading
commit before merge
Merge branch 'KeepSocketOpenExperiment'