Sam flexible control files

Allows the user to specify control file regex, and changes default control file regex slightly. Existing user code should continue to compile and run without changes (except the control file regex has changed slightly, but hopefully not in a way that will cause problems).

If accepted, this would close #193.

I would like to review the changes to the default regex with @jagatsingh before merging this code to master.

In my opinion we need to make it easier to add parameters like this regex to upload while maintaining source backwards compatibility.
`|` should match either one of the patterns on either side, as far as I'm aware. `cat|dog|emu` should work fine. Mind you, there are a million different regex variants out there ... anyway, it seems to work.

I think it would probably be a good idea to change the regex to match the whole name. That way when users specify the regex themselves they won't accidentally create a regex that matches a control file pattern in the middle of the file, which is what causes this issue in the first place (although they can still do so deliberately, which is fine).