Extending API to manipulate Projects and Runners

The purpose of this pull request is to aid in the automation of setting up a project in Gitlab CI using a background script instead of clicking on the UI.

### New API Methods for Projects

    GET /projects/:id - returns information about a Gitlab CI project
    GET /projects - returns list of all authorized Gitlab CI projects
    GET /projects/owned - returns list of all Gitlab CI projects owned
    POST /projects - create a Gitlab CI project
    PUT /projects/:id - updates Gitlab CI project information 
    DELETE /projects/:id - removes a Gitlab CI project
    POST /projects/:id/runners/:runner_id - links a project to a runner
    DELETE /projects/:id/runners/:runner_id - removes link between project and runner

These are documented in the comments where they are defined, but I would be happy to write more documentation on the README if needed.

### Authentication via Token to API

This is implemented in much the same way as it is done in `gitlabhq`.  The linking of a service still needs to be solved on the `gitlabhq` side.

Thanks and I look forward to your feedback!

@randx @dosire