Issue 49 : Patch from Olivier Coanet
Must ensure state folder exists whenever it is read, not when it is set, so that it is also created after being streamed out of the config file. (Issue #45, http://www.cruisecontrolnet.org/issues/45)
Merge remote-tracking branch 'upstream/master'
Merge branch 'master' into master_new
Merge remote-tracking branch 'remotes/upstream/master'
Test for Issue 280
Must reset the status because we are only interested in the task result, not the previous one.
Testing the fact that inner tasks are running their leaf, which requires some adjustments.
Must reset the status to check the result of the current task
Much simpler code, similar to what is inside ConditionalTask
Just like for others, we must check that failing in a leaf does not impact running another inner tasks leaves
Must reset the integration result status so that we check the result of the current task and not the result of a previous one.
Must not succeed if one failed but the last one succeeded.
Merge pull request #191 from obones/Issue280

Issue280
Added ConvertObjectToXml to avoid code duplication
The multi source control must split and recombine SourceControlData for sub source control blocks to work properly.
Added CanConvertXmlToObject to help migration code
The multi source control must cope with previous (buggy) information transparently
The conversion must be done once and for all and thus can be more precise.
MSTest Categories (Feature #238)
categories by  Brad Clarke
mstest : show failed tests at top (Feature #286)
show longest tests (Feature #287)