Automatic Program Synthesis of Long Programs with a Learned Garbage Collector