add support for --host option to specify the tracker servers in command line.

instead of go on messing the handcrafted command line argument parsing, I've took time to look for a right solution to parse command line args.
After look at various libs, I found NDesk.options + ManaConsole is my best shot.
NDesk.Options is a powerful command line arg parser lib, it is getopt() style and using callbacks to handle each argument. The only short coming is it doesn't support
latest 'git' style sub commands, here is where ManaConsole comes to help. ManyConsole is base on NDesk.Options and adding a wrapper framework for defining sub commands.
each sub command is a derived class of ConsoleCommand. in each command class, you define the options same as NDesk.Options.
You can define shared options between sub commands via defining a common base command class.

I've also used NuGet to manage the 2 dependencies, it is very convenient, I can add and remove libraries without many dirty work.
When you compile this project from fresh download, you need "Restore NuGet Packages" first, or it will missing assembly references.

I hope someday C++ world has same NuGet thing. Just Kidding...