Fix some issues with CLI... if directory is not specified, we'll assume current working directory for all options. If .pem file is not specified, we will create one automatically (like the docs say) and will continue operation. Added a little more error handling. Refactored some of the read key and generate key code to be more async w/ Promises.