Send proper json with correct content-type and support sudo-argument

Use json-encoder to create proper gitlab-compatible json
Send only attributes specified with requiredCreateAttrs and
optionalCreateAttrs
Send correct content-type header with json
Sudo, page & per_page is supported for all methods by using **kwargs to
pass them
Changed rawPut to have same parameters as rawPost
Support labels in issues correctly
Forgot to add sudo-support to update