Ensure public key file is write-able, and check for absent public key when private key is present.

I've added the test to ensure the public key file is write-able so that, if anyone decides to go ahead and make it immutable, the run will fail. This will avoid any risks of a mismatching keypair, should this case occur.

I also added a check for an absent public key file, when the private key file is present. Right now this will just show exec's output reporting failure. I'd hoped to somehow trigger a `warning` message, but couldn't think of any clean way to do so.