FIXED: gatherAssets: more defensive code against errors

 * gatherAssets now returns null if encountered unrecoverable error
 * use saved local library and asset JSON if JSON downloads fail
 * Defensive fix for #796
FIXED: fixed #791
 * Give informative error message if private pack is already added
 * First check contents of text box then check file from server