Changed object variables in CryptoUtils to ThreadLocals

This allows multiple threads to utilize the CryptoUtils

The test does not ensure that the two threads really used the methods of the CryptoUtils at exactly the same time. I currently don't know how this could be achieved. I'm grateful for any input...
Here, the 'Event'.notifyAll() should stand. After that, the semaphore's value risen to 2 shall be awaited.
Then, the two outputs can be compared for inequality between each other to ensure that each thread had its own Cipher (or so).