From exploring churches, mosques and historic squares to tasting Bulgarian food, these are the best things to do in Sofia.