Merge pull request #7 from arrowcircle/master

User keys functionality, ssh and http repo urls for projects
Add raw version for ResourceUrl and buildAndExecRequest

Gitlab use URL-escaped `/' for API to fetch project related
resources by its namespace, so it's looks like:

    namespace%2Fproject-name

The problem is Go's `http.NewRequest` use `url.Parse`
which in turn unescape the `%2F' automatically.
The only way to keep the escaped char is to use Opaque params at URL
as noted at: http://golang.org/pkg/net/url/#URL

Here is the first attempt to work-around the limitation,
we introduces another version of `ResourceUrl` and `buildAndExecRequest`
each called `ResourceUrlRaw` and `buildAndExecRequestRaw`, respectively.
`ResourceUrlRaw` will returns concatenated url and the opaque params, and
`buildAndExecRequestRaw` may accept opaque params in addition of url.
Change all project related to use ResourceUrlRaw and
buildAndExecRequestRaw
Add support for parsing web hook payload.