I found the answer. In another forum, I don't remember which, someone said they were having a simular problem. Their solution was to use Spotlight to find any files with a .keychain extension and rename them so OS X couldn't find them. I just copied them to removable storage and then deleted them, including system.keychain. I then logged out and rebooted. Keychain is working properly now, at least a lot better than it was, it's only been 10 minutes since I got it working again.