add support for creating readers from Tempfile, Pathname, StringIO

The class hierachy for objects is a bit screwy in 1.8.7 :(
Pathanem#to_path doesn't appear to work in 1.8
version bump
add specs for LovelyReader#node_type
Reduce line-width of LovelyReader#inspect
tweak subject construction in specs to reduce number of let() statements
add #read_state and helper methods
version bump
Reader#line_number is not so useful so remove it from #inspect output

It's actually the line number the underlying IO-object has read up to,
and not the line number of the current node the reader is pointing at.
Add #read_until for skipping over parts of the tree
version bump