Adds download interface

Switches OpenSSL passwords to newer flags
Securely deletes old files instead of just removing them
Fixes a memory leak in CryptoJS array concatenation
Provides more precise timing metrics
Workers pass data in iterations instead of one large string
parseTime function rewritten to be better formatted