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
Let me get this right, I think I may be missing something in your explanation.

If some random guy (odony) edits a typo on github in an OCA branch, e.g. `OCA/connector-magento/master`, this will create a branch `odony/connector-magento/patch_1` in his github fork (auto-created). He will then make a PR  towards the origin branch, ending up with a new git ref `refs/pull/123`).
When runbot detects `refs/pull/123`, it should be able to identify (using github API) that this PR is made towards the `master` branch of the origin repo, and thus use `master` to match the other dependencies to build. This does not depend on the name of the branch being proposed at all, it only requires proper naming of the origin branches. And proper naming of origin branches seems like an important prerequisite/guideline.

In addition, imagine someone makes a PR with a `7.0`-based branch towards a `master` branch (it actually happens all the time), then you would expect runbot to use `master` when matching fallback/dependencies, not assume `7.0` and wrongly mark the build as green. Does this sound correct?