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.
Old api? Which revision? keep in mind your reader isn't going to have the context of our current state of development. I would phrase this in terms of a common case, namely, a private network created by a project -- and name the function better accordingly.