Squashed RepoPick

Add repopick script from CM

patchset 4: cybojenix
  clean up the script:
    remove fetching from github
    cleaned up fetching locations of binaries
    if ANDROID_BUILD_TOP isn't defined, error out

PS 5:
  Added back the check if fetch succeeded.
  Fixed verbose print about fetching.

patchset 6:
  final changes
    fix detecting ANDROID_BUILD_TOP
    send all relavant data to stderr

Change-Id: If67c5f178d03fadd8b79b1908f4a9cb231efbb28

repopick: Add a way to checkout instead of cherrypick

This helps if you want to take a commit and its dependencies, and not
just a particular commit

Change-Id: Ib245cce560c7b0d6fd03198a8c69a13d4720a4cb

repopick: Allow picking batch of commits with the same Change-Id

Gerrit does allow assigning the same Change-Id for multiple commits. This patch allows picking them properly.

Change-Id: Idedc64f58eebe41a0d212c72329d15acff24efb9

repopick: Don't redirect stdout on --quiet

For some reason, when --quiet is specified (example:
repopick --quiet -c 7834), git ends up in /home instead
of the actual repository.

This is a quick workaround until a proper solution is found

Change-Id: I60e0f684909a23b557ee3147b8954b71be995319

Make repopick support gerrit 2.9

Change-Id: I5b5fcfdfb69fd8639a7170f68966817ba1bb98b7

repopick: skip a cherry pick if its already been merged

* override this behavior with the -f argument

oldChange-Id: I280b4945344e7483a192d1c9769c42b8fd2a2aef

changes: cybojenix
  use stdout and stderr
  don't exit, just continue the loop

Conflicts:
	tools/repopick.py

Change-Id: I91ece43ac219ea79b728ea96e69baae7dc6046ff

RepoPick : Add support for git pull

Allow user to git pull patchsets and dependencies.

oldChange-Id: If5520b45fe79836eac628b3caf0526f11f8953d9
(cherry picked from commit df646304bdcef329e3fe7c12b68107de1f4cd42a)
Conflicts:
	tools/repopick.py

Change-Id: I8c3a9467acb5caf3fbbdc8fab4d3a7be02ed4752

repopick: allow specifying a topic to pick all commits from

Change-Id: I4fb60120794a77986bf641de063a8d41f4f45a23

repopick: support specifying a range of commits to pick

* for example: repopick 12345-12350

Change-Id: I21dd0ef5f19d7b3899fa40ec4c28a0e9dba8a4df

repopick: SlimRoms urls

Change-Id: I16f56a85c62838079007cdfb8b6efe1954244830

repopick: fix stdout/err writing to include \n

Change-Id: I3097ef6c3dc2310e3996ec8a1701725f08b0de57

py3: xrange is not in python3

Change-Id: Ia6f96867b6cda53fec4ab1f00bfa86cbbed1a473
Broke It