add qisrc.GitWorkTree

* qisys.WorkTree should only track git project paths

* also, make more checks in WorkTree ctor instead of
  later in the actions

Change-Id: Ib0d86b6f525142d3c61b712e87f962fea8742bb2
qisys test: improve fixtures

 * add a worktree that can create projects on the fly
 * add a fixture to test argument parsing

Change-Id: Ic915d3b6a5ba0f9d367811b7206c0f95d3dab025
worktree: various bug fixes

Change-Id: Ia4dc7790767d83691ceaeca6e49143517482e028
add qisys.actions.get_worktree, get_projects

this will make it possible to use this in every action

Change-Id: I311bd48a7f29aea0f0819424f82736ad6be6f9d1
refactored argument parsing

Change-Id: Icf3a298ee02b7f2a66a0921887f2ba55b12d01eb
worktree: notify others when project list changes

 * this makes it possible to remove the
   dump() / load() hack
 * it also means we don't have to re-read everything all the time
 * this makes it possible for the "auto-add" feature to actually work :P

Change-Id: I8a3f210c5c3acbce2c2230f561a5b3ef7702a6ca
refactoring: implement build parsers, simplify qisrc

Change-Id: I698af9672dfadff995436aedeada0a8204f618f5
git_worktree: projects can move

Change-Id: Id793c0983e04c4fdb56271c97cf610a1de1c6570
qisrc and qisys tests are passing

Change-Id: I3acc037bed60dba41ba3d8c130695a51a91c834b
qisrc sync: repositories can be removed

actually this approach does not work:
the problem here is that you cannnot know which repo to remove
(for instance, they do not belong to any manifest)

Change-Id: I297029b2deaeb7462102316993163a49d8c57aa5
ManifestsWorkTree -> WorkTreeSyncer

(nicer)

Change-Id: I152980147586b5ae038ec724d77d5811f6dea60d
qisrc sync: sane implementation, sane behavior :)

Change-Id: Ie90909f0e5e77cb31dc724c1798818adfa5d9d6d
coverage.ini: ignore tests

Change-Id: I62b3a06c2ff6b504fa4693daf7a7a6f2b28dc4db
update todo

Change-Id: If2a63695fa4221ae4a06652246a4aa386aa40c1d
fix most of qisrc actions

 * still to do: qisrc snapshot / reset
 * add qisys.actions.foreach() and use it in qisrs.foreach

Change-Id: I96af3c9611e4a433e5228bfa1ac5a83c2f188c91
add qisrc manifest

 * add more automatic tests, and nice fixtures to test the actions

Change-Id: I4a3001cf52083b8c5b1938969048097ce7983870
implement qisrc manifest --check

Change-Id: Ia0aa315f8db2e652961bbcbf41e3f08a370f71c2
ui.info_count(): cosmetic changes

This matches what was previously used in
qisrc

Change-Id: I931728c2ae02a3d3ef992b0aa17802378757196a
update to 3.0

Change-Id: Id31d174ead3e97bf94590b377d44f5f57dc49b8a
Refactoring: remove old hacks

* get rid of old code  (qibuild.default_parser)
* get rid of open_worktree()

* moved worktree.qibuild_xml to toc.qibuild_xml and get rid of toc.config_path

Change-Id: Ic138c10c95571cebf18784ff16f11f6ba0f5b2e8