Added verbosity, include paths, and using getopt

Yes, I'm just not sure why you used `args.length <= 1`, which is not the obvious reflection of `args.length >= 2`.  I'd have to dig into druntime to see if it's actually possible to have 0 args.  I wonder if getopt handles that correctly?

Optlink actually doesn't error when passed zero object files.  Some linkers will let you do an entirely library-based build by specifying undefineds on the command line to start the link.  There's no reason for us to support that here, though.