Re-organize the model by adding an extra table between Project and Packages

This changes allows to have a project made of multiple packages and we can make a
dedicated version_url/regex for each of these packages, thus allowing to publish a 'There
is an update' message only to the package concerned and eventually not packages that
are not concerned.
Adjust the UI to add a project to the new database model
Rework the template listing projects
When creating a project, we no longer define the version_url or the regex
Adjust the model

- Include the function used to map a project to a distribution package (or 
update said mapping)
- Rework the DB model
  - Rename the table ProjectPackage into PackageRegex
  - Adjust the methods
  - Adjust the Packages table
Adjust the controller the new DB model and rely on project identifier rather than name
Adjust the templates to link using project.id rather than project.name

Adjust it as well for the new DB model
Add template to remove a specific regex off a project
Add method to remove a regex off a package and fix links to use project_id instead of project_name
Add first unit-tests
Update fedmsg notification DB logging message
Fix the __repr__ method of PackageRegex
Fix the template project to display version information properly
Add a versions_known variable checking if the version is know for all packages to the project page
Adjust the API to the new DB layout
Fix the check_release function used by the cron job
Bring back the Packages.project relation
Fix the project template to display the version information properly
More fixes for the cron job
More fixes to the project template to display properly the logs