Added an option to choose if commit message is prettified or not

Prettifing the message includes:
* Removing empty lines from the beginning and end.
* Removing trailing spaces from every line.
* Turning multiple consecutive empty lines between paragraphs into just one empty line.
* Ensuring the commit message ends with a newline.
* Removing every line starting with "#".

Note that this has nothing to do with the core.autocrlf option.
Update Reposiroty to support Clone by branch's name.