Split keychain access into separate file.

Started building out cache. Keychain access in separate file.
Updated keychain parser tests to use keychain module instead of
calling /usr/bin/security directly.