Added compile_to method that with single .compile() can produce multiple target files.

This is my take on issues/568.
What do you think?
Downside with vector is: what happens if you put in duplicates? Is it order dependent?

IMHO the simple way to solve the "can't remember Output's constructor" is to have it not have one, and require explicit field initialization:

    Outputs outputs;
    outputs.assembly_filename = "foo";
    // etc.