Correctness fixes

Merger the correctness-fixes branch into master. 

This will allow a move to the 'Feature Branch Workflow', rather than having all fixes/changes held away from master.

The number of commits here is significantly more than would typically be desirable going forward.