Add misc.Macro actor

Replaces #149 
Closes #142 
Could, but that's unnecessarily fancy, and would be a pain to debug if something goes wrong. I think creating a temp file for this purpose is a good solution.