FW Port: CM's Repopick

repopick: let's be nice to our servers :)

* Prefer fetching changes from GitHub, and if that fails,
  silently fall-back to Gerrit.

Change-Id: Ibf68d4b69a7e8dbee2adb8f7f4250340b8be629c
repopick: remove the superfluous information from date

  * '2011-11-17 06:54:52.000000000' -> '2011-11-17 06:54:52'

Change-Id: I73d37c9aba13d4be6b4d2d2fc0f2f83971a3e77b
repopick: gracefully handle empty/non-JSON server responses

Change-Id: Idbabdbfb4a910de0ad405f02b2a84cf2bc9ef3dc
repopick: decode the result as UTF-8

Change-Id: I51f2defa861c86b51baa7bad1df1d9666b952160
s/cyanogenmod.com/cyanogenmod.org/

* And fixup a wiki link while I'm at it.

Change-Id: I0355b9a47eac1becc07e81659fbb2d11b14ece36
repopick: allow running from a subdir of ANDROID_BUILD_TOP

Change-Id: I6dfcd5dfe700174ed87dc8627b23519c62b4cb27
repopick: handle additional error cases around subprocesses

  * gracefully error if the project path cannot be found
  * poll() was not a reliable determination of EOF on my
    Darwin-Python 2.7 system.

Change-Id: I203c2a75820f8acc079a5c9751d1c04daf6f3a16
repopick: add -b shortcut option

  * useful for people like me who want to pick into temp branch so
    that the picks survive a repo sync
  * shortcut to "--start-branch auto --abandon-first --ignore-missing"

Change-Id: Ia4d4309d27e46a15ff4b74525668d974f4251dcb