Importer refactor

Merge of first round of importer refactorings with @motasem-salem work effectively merging #140 and #149.
The `PendingOrphan` class currently spends most of its effort extracting the addresses. What about having a separate `AddressExtractor` class, and soon `FatherExtractor` class? This would fit better with the 'Open-Closed' principle - we wouldn't have to add new methods to `PendingOrphan` (although I guess it would still have to call the extractors).