Added namedGroups property to Regex struct.

A revamp of pull #1114, simply squashed.

Extended NamedGroupRange to be a random access and forward range, and added length memeber.

Changed name of namedGroups property to namedCaptures.

It's been lingering for few months, and I guess @bluepeppers found more intertaining things to attend to.

Maybe it's time to merge?