keyParser: return descriptive errors on bad parse
keyParser: cleanup
keyParser: simplify slice()
keyParser: parse RFC4716 keys according to spec
test: add keyParser tests