How do I set up new domains as networks with a single WordPress install?

Your webserver must direct requests for each domain you want to use to your WordPress install's filesystem location.

Here's a quick overview:

DNS should resolve each desired domain to your web server.

Configure your web server to direct requests for each desired domain to the same site (e.g. via ServerAlias directives or Host Headers)

Tip: You can use the New Network Preview feature to verify DNS and server configuration BEFORE creating your networks.

What's with `networks-mufunctions.php`?

This file has fixes for unusual network topologies, like networks without a root site or those more than one subdirectory deep.

The fix for networks with deep paths was graciously contributed by Spencer Bryant.

For a long time I avoided bundling fixes like these, since I was committed to having this plugin run only when needed by the dashboard.
This file does not rely on the rest of Networks for WordPress to function, so you are free to copy it to your mu-plugins folder and use it on its own.

This seemed like a good compromise. If you have thoughts, let me know in the comments!

If you are on WP 3.5 - 3.6.1 and want to use native file uploads, you must either:

Activate the Networks plugin on all of your networks, OR

Copy networks-muplugins.php into your mu-plugins folder

If you do not do this, your uploaded files will end up in unexpected places.