build: tools: add in roomservice

This is a new implementation of roomservice
use the new github search api to reduce the memory footprint, and make it less processor intensive
allow for unofficial devices to fetch dependencies. just specify your github organization

to fetch dependencies:
    add a file called 'omni.dependencies' to the root of your device tree
    an example configuration for the dependency file is:

[
  {
    "repository": "android_device_sony_common",
    "target_path": "device/sony/common"
  },
  {
    "repository": "legacybop/android_hardware_qcom_display-legacy",
    "target_path": "hardware/qcom/display-legacy",
    "revision": "omni-4.3"
  }

please note that comments can not go into this file. It must be valid json

PatchSet 7:
  add support to change port script to another team with config
  finished pep8'ing
  more checks on manifest parsing

Change-Id: I3d7a8d46d3effbb3d2480c136c9b6b6e610b9b2e

Conflicts:
	envsetup.sh
	tools/roomservice.py
Support fetching dependencies even if device tree fails.

This is required when device tree depends on dependencies to lunch.

Change-Id: If62cd9777caf768f8070570ca0835052645c6b20

Conflicts:
	tools/roomservice.py
updating roomservice.py to default on android-4.4 branch to be android-4.4

EDIT: removing useless comments while I thumb my nose at elitist friends
EDIT: elitist extra line removed
Change-Id: Iebf4dfc4237d6e251acb9e9d32ae1cee68e514ed
roomservice: Fix os.path.isdir calls

Apparently on some Python installations
it throws exception instead of returning False.

Change-Id: I9d901e3260bab411cf3466346c421594f0922562
roomservice: Add -f and --no-clone-bundle flags to repo sync

Suppress scary-looking common warnings during resolving.

Change-Id: I4337ec95992ad68ff4471b0d0b7346e933269503
roomservice: Change default remote to omnirom

Using the default of github results in people unable to use gerrit
to submit patches to repos brought in by roomservice

Change-Id: Idccd6c35bf81a35135e893ed03f6c5745059ec82
roomservice: Fix handling of devices with _ in their name

Currently, roomservice takes every _ in the device tree name and
replaces it with /

Instead, strip the device name (such as pollux_windy) from the repo
name before replacing _ with / and then append it again when we're done

Change-Id: Ieabe85ecd8829c959a7296e5cd73f577879c4ffc
roomservice: urgent: add "+fork:true"

Enable a device config to be found on github if it was forked

thx @cybojenix

Change-Id: Ic63f82b9ed754dcba17725f5aa75d0011896b09c
roomservice: Auto-remove duplicated projects

Change-Id: I41aebf85949fdf5310c4599552af59a3185da866