Added Makefile to allow running tests from the top-level dir.

Also, added the ability to clean the directory by removing all *.pyc files,
which uncovered a latent bug whereby we forgot to rename an import of a module
after a file rename, but which continued to work due to a stale *.pyc file for
the previous name of the module.
Added -u to the #!/bin/bash line to exit on unset vars.
Added a Python-style config processor and expander.

Using a library of predefined GCE Resource constructors, we can simplify the
computation and expansion of configurations by allowing the user to use the
power of the Python interpreter to construct their objects.

This allows the full spectrum of computation from Python, including function
calls, string concatenation, list comprehension, etc.

For end-user simplicity, we compile + evaluate the user's config module in an
environment where we have already imported every top-level definition from the
`gce` module, thus allowing the user to immediately start writing the config
without having to remember to import a module that they don't need to know
about, since it's boilerplate to be added to the top of every config.