User defaults, logged generated passwords

Whole bunch of changes. The logging uncovered one problem we need to go over app and make sure is handled correctly. When turning NSData into strings it seems as if a NULL terminating character is attempted added. In other words, NSData should not contain a NULL terminating character. At least not when converting to NSString.