Commit .xd file when initializing manifest

Signed-off-by: Esben Haabendal <esben@haabendal.dk>
Add unittest coverage of init command error handling

Signed-off-by: Esben Haabendal <esben@haabendal.dk>
Fix Travis git configuration to allow making commits

Signed-off-by: Esben Haabendal <esben@haabendal.dk>
Refactor xd.tool.shell chdir/pushd/popd into xd.tool.os.pushd

Refactor the chdir, pushd, and popd functions into a new pushd context
manager, reducing code size of both implementation and use, while making
the resultant code more foolproof.

Signed-off-by: Esben Haabendal <esben@haabendal.dk>
Allow manifest commands to provide subparser help text

Signed-off-by: Esben Haabendal <esben@haabendal.dk>
Simplify xd.tool.shell.call and use external sh module

Remove the path and quiet arguments to call().  Instead of specifying
path, callers should use pushd contextmanager.  Callers that need quiet
mode should use sh module instead.

The success_returncode argument is renamed to ok_code, to resemble sh
module.

Signed-off-by: Esben Haabendal <esben@haabendal.dk>
Cleanup stdout/stderr redirect in unittests

Signed-off-by: Esben Haabendal <esben@haabendal.dk>
Add logging prefix to all lines of multi-line log records

Signed-off-by: Esben Haabendal <esben@haabendal.dk>
Add layer command

Rename the "manifest" command to "layer status" command, and add
"layer add" and "layer list".

The idea is to add a simple way to add known layers to manifest, without
having to type in url's.  Later on, layer dependency handling might also
be considered.

Closes #5

Signed-off-by: Esben Haabendal <esben@haabendal.dk>
Merge pull request #7 from esben/master

Improve init command, various rewrites and layer command
Update README.md with waffle.io badge
Update README.md with Issue Stats badges
Generalize the layer structure to support multiple parent dirs

The idea is to place all XD-build layers in build/, and possibly other
types of XD-embedded layers will live in other manifest subdirs.

Signed-off-by: Esben Haabendal <esben@haabendal.dk>
Add custom TestCase class for unittest simplification

Signed-off-by: Esben Haabendal <esben@haabendal.dk>
Cleanup unittest code

Signed-off-by: Esben Haabendal <esben@haabendal.dk>
Rewrite manifest handling

* Use Windows INI file syntax in .xd file (closes #10)
* Use standard Python repository structure in layers (closes #8)
* Layer ordering support (closes #9)

Signed-off-by: Esben Haabendal <esben@haabendal.dk>
Fix error handling of adding bad and incomplete layer commands

Signed-off-by: Esben Haabendal <esben@haabendal.dk>
Unittest coverage completion

With this commit, we should reach 100% branch and statement coverage.
Let us try to keep it there.

Signed-off-by: Esben Haabendal <esben@haabendal.dk>
Merge pull request #13 from esben/master

Features for milestone 0.1 and full unittest coverage
Update README.md with Codacy badge