Add iterator for raw records

Refactor `each` to use another iterator for getting the raw data.
Exposing this iterator allows the user to handle decoding errors per
record while iterating through the file.
Expose and use #decode as an instance method

This way the encoding parameters of the MARC::Reader object are
easily reused when decoding during iteration over raw MARC strings.
Merge pull request #31 from daniels/each_raw

Merging into 0.9 candidate branch