add #:extra-srclocs argument to raise-read-error

Also, modernize the error checking to use raise-argument-error
and generally Rackety