[WIP] Git flow support

To match the feature set of GitFlowVersion the following needs to be done

 - [x] Abstract Log
 - [ ] Rename project to GitVersion
 - [ ] Introduce MSBuild task which wraps the main project
 - [ ] Port the GitFlowVersion detection code to the correct version strategy
 - [ ] Port all the GitFlow integration tests covering many branching scenarios
 - [ ] Ship the GitVersion exe as a chocolatey package
 - [ ] Ship two NuGet versions of GitVersion, GitVersion.Console (same as GitHubFlowVersion nuget) and GitVersion, which is a library which can be referenced
 - [ ] Possibly support the exe outputting json as the Console output, and the log file going to a file. The two projects work opposite at the moment, the json output is done to a file.