Added string matching function.

This is extracted from PathMatcher and will be used as the basis for unifying string matching across Gaffer as required by #707.
Replaced Metadata regexes with new string matching code.
Added Metadata signals emitted on registration of values.

This should be useful for updating UIs automatically when Metadata changes.
Added Metadata signalling when dynamic Box metadata changes.