add checking and error handling for encrypted keys and pass_phrases

this fixes https://github.com/opscode/cheffish/issues/9

This is my first attempt at fixing this and want to start a discussion to make sure i'm going in the right direction. Any feedback is appreciated!
I believe there are multiple types of BEGIN line out there--BEGIN PRIVATE KEY is one of them--and that's why this was coded the way it was.