Introduce LambdaEqualityHelper

From the MIT licensed LibGit2Sharp project
Make ReleaseDate implement IEquatable<>
Make SemanticVersionBuildMetaData accept a ReleaseDate
Make SemanticVersionBuildMetaData implement IEquatable<>
Cover ReleaseDateFinder with tests
Make SemanticVersionPreReleaseTag implement IEquatable<>

Add mssing GetHashCode() method
Make VariableProvider expose Assembly[File]Version
Teach UpdateAssemblyInfo to accept an AssemblyVersioningScheme
Merge pull request #98 from Particular/ntk/releasedate_tests

Cover ReleaseDate underlying changes with tests
Merge branch 'master' into ntk/assembly-version

Conflicts:
	GitVersionTask/AssemblyInfoBuilder.cs
Merge branch 'ntk/assembly-version'
Fixed build
Write to TeamCity system variables. Fixes #151
Restored build configuration variables, so we now expose both system and configuration variables
Fixing some ReSharper errors