Improve substitutableSubpattern.substituteInto() so that it recognises {m}, {m,n}, {m,} and {,n}, but not {,}, as repetition operators