Replace explicit attr management with register

This begins a refactor of recordlist, which was one of the earliest modules in
`irlib` and a is brittle and handles exceptions poorly.
removed long-deprecated irlib.py
Remove error-counting and instead just raise a ParseError, which can be handled in whichever way is appropriate