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.
Conventions for cargo (and rust in general) is 4-space tabs everywhere