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

This is my take on issues/568.
What do you think?
All the other compile_xxx methods have two variants (one with function_name, one without); I vote we abandon that here and just have a single entry point, with function_name always required.

Also: "fn" rears its head again.