Add string tests on a single file to rose-ana

This enhancement allows rose-ana to search a file for a particular regular expression and pass or fail depending on whether it is detected or not (e.g. you can imagine testing standard out for the word 'failed'). This involves adding two new comparison methods, "Mandatory" and "Prohibited", which examine the results of the OutputGrepper class to determine if the regular expression it matched is present or not. 

This is a minor increase in scope for rose-ana, as it doesn't involve comparing one file with another, instead it's just examining a single file. This has meant there needed to be some minor changes in the rose-ana engine to allow zero kgofiles as a valid configuration. 

This also includes a minor bug fix to the Exact comparison method, where if the two arrays of values to match had length zero, it wasn't reporting a match, whereas it really should. 

I've tested this using a simple test suite to check both Mandatory and Prohibited work correctly, and I've run a UM rose-stem job to check that I haven't broken current functionality. This shouldn't affect any current users, it's just adding new functionality I'd like to use in the future.

@matthewrmshin, when you get a spare minutes can you take a look at this please?