A double from David Goodwillie fired Aberdeen to their eighth win from eight in a 3-1 victory at Hearts to extend their unbeaten run at the top of the table.