Added tests.

Uses httmock library to abstract away requests-library.
Uses nose to actually run tests.
_setFromDict thinks False is None
No reason to add kwargs to object in Gitlab.list()-method because GitlabObject
constructor can handle them.
CurrentUser.Key uses _getListOrObject-method
No reason to have separate _getListOrObject-method in gitlab class.
Changed GitlabObject-class version to classmethod.
Updated tests for classmethod-version of _getListOrObject
Check that branch is protected when trying to unprotect it. Otherwise raise
GitlabProtectError
Updated tests for protect & unprotect branch
Exception classes updated to contain more information about failed request.
_getListOrObject raises same exception class as all other can*-checks
Updated tests for exceptions
Python3 compatibility
Moved url-construction to separate function
Tests for constructUrl
Added timeout support
Send proper json to gitlab server
Test for jsonForGitlab-method
All methods support kwargs. Allows to send 'sudo' parameter to gitlab api.
Send content-type header only on update & create
Moved attributes that are used for constructing url to separate list. Added list for attributes needed for delete-operation.