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"
    });
});
```
Shouldn't these classes be called `SignToolExtensions`, `SignToolRunner` and `SignToolSettings`? The extra `Sign` seem redundant.