Add strongly typed NonFastForward exception

Wrap the NonFastForward error code from libgit2 in a strongly typed exception.