Refactor OrphanImporter

Hi there!

This is such a cool project, and it's great that you've open-sourced it here, but as someone who just found your project randomly, it'd be great to provide a little more direction on where people could help out! As it is, I just dove in and went for it!

This PR mostly deals with speed and style on the OrphanImporter class. I should have a benchmark soon on how much faster this actually works. 

I tried to quantize this into several commits, so you can pick-and-choose which to take if you don't agree with some of my style choices.
Here and on new L18, we need to agree on style - group logically related steps into one line with `and` or have them on separate lines.