Create hg repo with --hg flag on cargo new

Allows the client to initialize a mercurial repo when creating a new cargo project with `cargo new --hg`. This would close #510.

This is my first time writing code in rust outside of a toy program so please feel free to tear it apart or suggest an alternative solution.
I thought about using a trait to write the ignore files and decided not to, but forgot to remove the trait.