Major Change: Changed the decryption algorithm. Performs much efficiently and faster now. Dynamically changes the frequency list size. ADDED JavaDocs