Added range
as a valid source of Pattern data e.g.
>>> print(P[range(10)])
P[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print(Pattern(range(10)))
P[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print(P[0:4] | range(4,8))
P[0, 1, 2, 3, 4, 5, 6, 7]
>>> print(P[0:4] + range(4,8))
P[4, 6, 8, 10]