In Yosemite, (how) can I save an entire Space/Desktop (or a collection of open programs and windows, like a Space)? The Spaces feature in OS X is great. It would be even greater if I could save a Space and recall it later, like the "Projects" feature that's available in many IDEs.

Another way to think about it would be like how OS X, when shutting down, prompts the user to re-open all programs. Saving or recalling a Space would be something like that.

Is this possible in OS X? Maybe through some kind of AppleScript hackery.

Alternatively, are there any third-party programs that accomplish this?
The paid App "Moom" (£7.99 Mac App Store) can save and restore desktop layouts (amongst other window related tricks). I don't think it actually starts applications though, but if they are already running it will arrange them for you. You might be able to combine an automator action to run a bunch of programs and then have Moom arrange them for you?

I have multiple applications open for marking student work (browser, word processor, text snippets, marking app etc.) and use Moom to give me a consistent layout for marking each type of assignment. It works well for this.