The Aberdeen South by-election has been called after former SNP Westminster leader Stephen Flynn was elected to Holyrood.