This merge is a replay of a previous merge which was reviewed in detail by Christian Jacobs. There have been no changes since this was approved, hence I'm fast-tracking this through as the concerns that led to the previous uncommit have been resolved.
This merge brings in general updates from Jonathan Bull to his turbulence codes and updates the BFS examples and various related tests to reflect this.