Example: fixes for IO#putc specs.
Example: fixes for IO#putc specs.

Notes:
* Use ascii-8bit encoding for a file with a lot of literal strings
  with binary data.
* Use the have_data() matcher for expectations about data written
  to files. The matcher opens the file in :binary encoding so the
  literal passed to the matcher should have that encoding.
* Use the fmode() helper. This works regardless of whether the
  implementation supports Encodings.
* Use mocks rather than Object.new. Use should_receive expectations
  rather than defining singleton methods.
* Ensure the spec description string actually describes what the
  spec is testing.
* This commit replaces the changes in reverted commit e1079ebb.

teleological/rubyspec,iliabylich/rubyspec,marcandre/rubyspec,neomadara/rubyspec,julik/rubyspec,alindeman/rubyspec,calavera/rubyspec,no6v/rubyspec,rdp/rubyspec,oggy/rubyspec,metadave/rubyspec,kachick/rubyspec,sorah/rubyspec,griff/rubyspec,DavidEGrayson/rubyspec,BanzaiMan/rubyspec,rkh/rubyspec,bjeanes/rubyspec,nobu/rubyspec,oggy/rubyspec,Zoxc/rubyspec,griff/rubyspec,eregon/rubyspec,jabley/rubyspec,bl4ckdu5t/rubyspec,benlovell/rubyspec,terceiro/rubyspec,mrkn/rubyspec,shirosaki/rubyspec,godfat/rubyspec,rdp/rubyspec,flavio/rubyspec,josedonizetti/rubyspec,benlovell/rubyspec,scooter-dangle/rubyspec,xaviershay/rubyspec,enricosada/rubyspec,wied03/rubyspec,bomatson/rubyspec,atambo/rubyspec,no6v/rubyspec,ruby/spec,bomatson/rubyspec,undees/rubyspec,JuanitoFatas/rubyspec,rkh/rubyspec,bjeanes/rubyspec,BanzaiMan/rubyspec,jstepien/rubyspec,DawidJanczak/rubyspec,nobu/rubyspec,jabley/rubyspec,jvshahid/rubyspec,sorah/rubyspec,DavidEGrayson/rubyspec,shirosaki/rubyspec,eregon/rubyspec,sferik/rubyspec,timfel/rubyspec,timfel/rubyspec,benburkert/rubyspec,yaauie/rubyspec,sgarciac/spec,alex/rubyspec,wied03/rubyspec,neomadara/rubyspec,wied03/rubyspec,sgarciac/spec,Aesthetikx/rubyspec,freerange/rubyspec,amarshall/rubyspec,alexch/rubyspec,chesterbr/rubyspec,yb66/rubyspec,markburns/rubyspec,amarshall/rubyspec,chesterbr/rubyspec,yaauie/rubyspec,mrkn/rubyspec,kachick/rubyspec,kachick/rubyspec,julik/rubyspec,ericmeyer/rubyspec,MagLev/rubyspec,scooter-dangle/rubyspec,xaviershay/rubyspec,godfat/rubyspec,mbj/rubyspec,ruby/spec,ericmeyer/rubyspec,enricosada/rubyspec,qmx/rubyspec,benburkert/rubyspec,undees/rubyspec,metadave/rubyspec,askl56/rubyspec,calavera/rubyspec,terceiro/rubyspec,roshats/rubyspec,jannishuebl/rubyspec,MagLev/rubyspec,tinco/rubyspec,agrimm/rubyspec,Aesthetikx/rubyspec,qmx/rubyspec,bl4ckdu5t/rubyspec,atambo/rubyspec,DawidJanczak/rubyspec,alex/rubyspec,teleological/rubyspec,mbj/rubyspec,JuanitoFatas/rubyspec,iliabylich/rubyspec,nobu/rubyspec,alexch/rubyspec,agrimm/rubyspec,kidaa/rubyspec,kidaa/rubyspec,yous/rubyspec,yb66/rubyspec,jannishuebl/rubyspec,marcandre/rubyspec,ruby/rubyspec,eregon/rubyspec,saturnflyer/rubyspec,flavio/rubyspec,nevir/rubyspec,lucaspinto/rubyspec,ruby/spec,sferik/rubyspec,Zoxc/rubyspec,iainbeeston/rubyspec,jstepien/rubyspec,saturnflyer/rubyspec,yous/rubyspec,ruby/rubyspec,lucaspinto/rubyspec,freerange/rubyspec,sgarciac/spec,josedonizetti/rubyspec,jvshahid/rubyspec,iainbeeston/rubyspec,markburns/rubyspec,tinco/rubyspec,askl56/rubyspec,nevir/rubyspec,roshats/rubyspec,alindeman/rubyspec