Make integerRangeSubpattern() a static method of substitutableSubpattern, and allow the user to optionally specify the name property of the returned substitutableSubpattern