Fix findGDC to do something sane.

Thanks Iain. :)
Make "dmd.conf" easily reconfigurable.

In case we decide to rename it in the future.
Refactor code.

Reuse code that iterates over $PATH.
Add a few more options.
Oops, should not treat argv[0] as argument. :)
Add exit().
Add more options.
Update Makefile to build from gdmd.d instead.
Oops, accidentally deleted a line before committing.
Implement -of and -od.
Make code a bit more unittest-able.

Fix bugs found by unittests. :-)
Mimic dmd's behaviour w.r.t. source paths.

Basically, object files are produced in the current directory with path
stripped unless -op is given.
Create target directory if doesn't exist.

Otherwise -op and -od... won't work properly.
Argh, dmd's path handling is very quirky...
Merge remote-tracking branch 'teoh/dport' into deity

Conflicts:
	gdmd.d