Initial attempt at filter optimisation

Current implementation breaks some of the DAWG SPARQL tests.
Only attempt to optimize string or URI comparisons

As numeric comparisons cannot be directly converted to a BGP match.
Optimization changes which OptionalFilter test passes

Without optimisation the DawgOptionalFilter005NotSimplified test is the
one that passes. With optimisation the DawgOptionalFilter005Simplified
test passes instead.
Merge branch 'develop' into feature/issue116
Merge branch 'feature/issue116' into develop