tox: run cov report with py27 and py3 configs

Instead of running a separate coverage report (using only python2.7,
consequently), this change forces command-line coverage reports to be
run with py27 and py3. This is useful because the coverage numbers can
vary from version to version, given the need for try/except for
importing stdlib stuff. This is also helpful in case we need to use
something like `six`, which could introduce python version specific
branches in logic.
Merge pull request #65 from larsbutler/refactor-test-deploy

Move `deploy` code to zpm module
Merge pull request #67 from larsbutler/tox-cov-py27-py3

tox: run cov report with py27 and py3 configs
doc: use fonts from zerovm.org
doc: depend on zerovm-sphinx-theme package

This means that we no long have to include the theme directly in our
repository.
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.
Merge pull request #68 from mgeisler/zerovm-sphinx-theme

Externalize ZeroVM Sphinx theme
Merge pull request #66 from larsbutler/miniswift-refactor-and-test

miniswift: refactor and test
Refactor default UI templates
deploy: expand glob patterns in 'ui' section (fixes #63)
Merge pull request #69 from mgeisler/ui-glob-patterns

Add support for glob patterns in 'ui' section
fix typo at bottom of intro page
Merge pull request #71 from al-maisan/typo-fix

fix typo at bottom of intro page
zpm: don't from os import path

Pyflakes version 0.8.1, released on 2014-03-30, began complaining
about the shadoing of 'path' when we do 'for path in paths' somewhere
else in the code.
Merge pull request #72 from mgeisler/master

zpm: don't from os import path
tox: break long cmdlines

This will make it easier to add new flags in the future.