Update Gen and Sign

Fix bug where Gen is initialized twice, generating mismatching
public/private key pair.
Overwrite file is a file with same filename already exist.
Print message to stdout when finish executing.
Update Ver class

Refactor the code to take a more Object-Oriented approach.
Add javadoc-stype method comments.