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 problem this function tries to fix is that with community addons, branch names could be anything, and in many cases the branch will have a name akin to "patch_1", especially if non-technical, functional people edit via the github interface (e.g. fixing typos in the code). In that case, runbot won't know which branch of odoo to use. "patch_1" might have branched off of 7.0 or 8.0. Knowing this is vital to the test succeeding and runbot running the proper server.

I don't think `get_closest_branch_name` is fragile. It uses the recommended way of using git to find out branch-off points. The function falls back to default behaviour if it doesn't find anything. 

I can add branch name matching as well, but, without checking branch-off points, it will not work in most cases of OCA branches unless we heavily moderate branch names.