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 like this :)