A review of progress and challenges in flapping foil power generation