Support adding and removing branches and tags

Adding support to create & remove branches and tags.

The reason for this addition is that I have added support for the Gitlab API to use these.

GitHub has similar options in their API: http://developer.github.com/v3/git/refs/

I've added tests as well - Please let me know if anything here can be improved or if it's good to go :-)

I will be linking my Gitlabhq pull request here shortly as well.