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.
This should use cargo's built-in `util::process_builder` module for nicer `CargoResult` instances.