Overhauled set definition methods
validate_checksum now takes optional checksum argument
some minor comments/docs tidy up
refined replicate set handling