zpm,commands: create_project returns zar.json path

The `zpm.create_project` function now return the full zar.json path,
which allows the command line interface to notify the user that the file
was created. We now print the full path, instead of just telling the
user into which directory the file was created. I think this is more
useful and explicit.
test_zpm: update test with _create_zar_json retval

Since this function now returns a value, this change updates the test to
check the return value.
Merge pull request #62 from larsbutler/fix-zpm-new-2

Fix `zpm new` command, part 2
doc: use new zerovm Sphinx theme

This is a rough adaptation of the "nature" theme for Sphinx with the
colors used on zerovm.org. Things like fonts, text sizes, paddings and
margins are still missing.

I'll most likely repackage this later as a stand-alone Python project
so we can reuse it in other contexts.
tox: include {posargs} in sphinx-build cmdline

This is very useful for testing the documentation: you can run

  $ tox -e doc -- -E

to completely rebuild the documentation (the -E flag makes
sphinx-build ignore the cached environment).
Merge pull request #64 from mgeisler/zerovm-sphinx-theme

Add a ZeroVM Sphinx theme for docs
Move `deploy` code to zpm module

This minimizes the amount of code in the `deploy` command wrapper
function, and moves all of the logic to an API function in the `zpm`
module called `deploy_project`.

TODO: Break up the `deploy_project` into smaller chunks and write tests
for it.
zpmlib: add ZPMException class

This is useful for generic ZPM exceptions which need to be
differentiated from even more generic exceptions, like RuntimeError.
miniswift: rename _swift_url to _swift_service_url

Due to how this is used on other parts of the code, this help make the
content of this variable explicit. It's not just a "swift url", it is
specifically "the url of the swift service", given to us by the Keystone
service catalog.
miniswift: stop searching once swift srvc is found

When we retrieve the service catalog from Keystone, we do a linear
search through the catalog in order to find the swift service. Once we
find the service, there's no sense in continuing to search through the
rest of the catalog.

This change simply adds a `break` in the loop to accomplish that.
miniswift: raise if no swift service is avail.

In the SwiftClient class, it would seem kind of point to allow the
`auth()` process to look for a swift service, not find it, and then
carry on like everything is okay.

This change asserts that if there is no swift service available, we
raise a `ZPMException` immediately.
test_miniswift: add tests for SwiftClient.auth()

This brings `miniswift` test coverage to about 69%. It's not great, but
it's an improvement.