Community addons

Some changes to runbot in order to better test with community addons

When testing a repo which does not contain odoo, but addons from OCA:
* Only test modules from the repo, don't test all of odoo's addons
** opener-hr will only test hr-related addons
* Test Community addons in openerp/addons-to-test instead of openerp/addons to better separate them from official addons
* Add dependency repos field to specify additional addons to fetch
** Some OCA repos depend on modules found in other OCA repos
** These are installed in openerp/openerp/addons-extra-dependencies to better separate them and to avoid testing them which could result in an un-ending chain of repo dependency
* Add function which will find the most likely main branch a PR comes from
** using the git merge-base and git log commands
Turning dependency_ids into a `many2many` requires a larger change, which is why I avoided doing that. If you rather I take that approach, I will submit something in a bit.

The way I see it for testing addons, `fallback_id` is required for odoo or ocb while dependency_ids is required when a module repo requires another module repo.

This gives a potential path where runbot could be expanded to test on multiple servers such as odoo and ocb

### ex:

* Repo = [canada](https://github.com/oca/canada)
* fallback_id = [odoo](https://github.com/odoo/odoo)
* dependency_ids = [account-fiscal-rules](https://github.com/OCA/account-fiscal-rules.git)