Drop obsolete members after release v0.17.0
Fix some issues pinpointed by Code Analysis
Upgrade to .Net 4.0

Fix #654
Improve marshaling of git oid

Doing a simple copy of the byte array is a lot faster than using
Marshal.PtrToStructure.
Introduce Remote.IsValidName(string)

Deprecate RemoteCollection.IsValidName(string).

Update test CanTellIfARemoteNameIsValid(string, bool).

Fixes #679
Added libgit2 features to Repository.Version

Introduced NativeMethods.Capabilities .

Added CanCreateValidVersionString() test .

Displaced NativeMethods CompiledFeatures to Proxy

Remove irrelevant region on Proxy

Make Proxy.get_compiled_features match get_libgit2_features .

Add mising [Flags] tag on GitBuiltInFeatures .

Remote trailling whitespace in Proxy

Resolves #676
Introduced Reference.IsValidName(string)

Deprecated ReferenceCollection.IsValidName(string) .

Updated Test .

Fixes #680

Fixed typo in [Obsolete] tag.

Rebase into current vNext.
Cleanup whitespaces
Fix Commit() so that it always updates the HEAD

Fix #692
Make Travis build target osx platform
Favor usage of non obsolete methods
Improve CanRetrieveValidVersionString()
in RepositoryFixture

Updated Repository.Version documentation

Updated Repository.Version test
regex now checks each group.

Fixes #696
Fix .mailmap
Adding props for collecting native binaries as part of a web publish.

Updating targets file to ensure that NativeBinaries are copied to the bin for projects as well as referencing projects.