added a clone method that works with a private key as bytes rather than a file.  I've just hacked it in as a static method - this whole class needs a cleanup anyway