Fix PEM regex, try to make it more readable

0x2c ("comma") should be 0x2d ("hypen-minus"). range(X, Y) results in a
sequence X..Y-1 (off-by-one). Fix both issues by using a regex class
following the "labelchar" definition from the RC.

Also replace "%(labelchar)s" by just "%s", the regex was hard to read
with all those extra parentheses. Use "(?:..)" instead of "(..)" when
grouping for repetition rather than backreferences.