Ability to merge release back to develop

This preserves the correct version when merging a release back into develop.
This also changes the semantics of the 0+1 part of the semantic version so that it represents the number of changes since the previous tagged release (e.g. version 1.0.0-beta.1+5 gets reset to 1.0.0-beta.2+0)
Merge pull request #291 from dtabuenc/merge-release-back-to-develop

Ability to merge release back to develop
Moved configuration files to Core
Put config files into namespaces
Introduced ConfigurationProvider and added config parameter into GitVersionContext
Fixed busted test
Promoted config up in tests
Added tests for overriding develop tag via config and updated msbuild Tasks
Updated support for release branch tag name configuration
Moved test fixtures into their own folder
Moved integration tests into a sub folder
Added tag-prefix configuration option
Added Tag prefix support to Task
Remove the [vV] stripping from the front of the Regex on the SemanticVersion class. This is done elsewhere
Fixed #242
Fixed variable naming
Updated other places which required git tag prefix cleanup