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
The logic of `get_closest_branch_name` seems complex/fragile. We'd prefer to only have name-based matching rules, i.e. trying to match all the head-matching substrings. If branch name is "foo-45-bar-322", we should look in all dependencies for branches named ["foo-45-bar-322", "foo-45-bar", "foo-45", "foo"], in this order.
For PR this means we have to extract the actual branch name using the github API, and this is an important feature we need, to make the runbot page more friendly. It should be quite easy, why do you think?