proper return value checking of libtoolize dry-run refs #3021

ran into that with debian squeeze and sh.
Added missing files.
Add some more missing files.
Bugfix: DowntimeProcessor::AddDowntime() should return new downtime ID.
Renamed ExternalCommand to ExternalCommandProcessor.

Fixes #3579
Updated VS project files.
Implemented comments.

Fixes #3558