Repository ID support for projects.

Adresses issue https://github.com/julython/julython.org/issues/24.

Changes to the commit processing flow:
* If there is no repository id in commit payload, fetch or create project by slug.
* If id exists, try fetching by it first.
  * If project with that id does not exist, try fetching by slug.
  * If project does not exist, create a new one.
* If existing project was found, update it with new information from commit message.

The upshot is, if a repository hosted on Github was renamed or otherwise changed, we update the existing project instead of creating a new one.

Tests for new functionality included.