Added Sign extension for assembly certificate signing 

This adds support for PFX certificate signing
(a.k.a Authenticode not to be confused with strong naming)
using the standard Windows SDK SignTool
Example usage:
```
Task("Sign")
    .IsDependentOn("Clean")
    .IsDependentOn("Restore")
    .IsDependentOn("Build")
    .Does(() =>
{
    var files = GetFiles(solutionDir + "/**/bin/" + configuration + "/**/*.exe");
    Sign(files, new SignToolSignSettings {
            TimeStampUri = new Uri("http://timestamp.digicert.com"),
            CertPath = "digicert.pfx",
            Password = "TopSecret"
    });
});
```
Simplified code a bit, basically if all known paths fail it will check if any other SDK's are installed with the tool present.