Convert most of the remaining tests to unit tests

These patches move the remaining tests from utils.py as well as most of the commented out Security Environment tests to unit tests. The PBKDF2 tests are removed since, this is an external project that we just included verbatim in CryptoUtils.py
The tests have already revealed some strange/incosistent behaviour in the Security_Environment class but this will be fixed later, when there are enough unit tests to be confident that no functionality is broken by the changes. The tests have also uncovered one bug in the generate_public_key_pair method (incorrect usage of the bertlv_pack method), which is also fixed with this pull request.