adds ReferenceAlreadyExistsException and wrap native exception in it

I followed the idea proposed [here](https://github.com/libgit2/libgit2sharp/issues/267#issuecomment-11127883) and adds a new `InputAlreadyExistsException` class to wrap `EEXIST` native exception from libgit2.

Hope it helps!