Fancy networks

See docs/networks.md for details.

Unit tests pass, but I should write some more unit tests to test the expanded functionality before we merge this.
We don't have revision numbers and you know that. How about "Previous versions of the HaaS had a simpler 'network_create' interface that only took a single project, rather than optional creator project, optional accessor project, and optional underlying network id.  This maps the old API onto the new API, to allow old unit tests to work with minimal modification."