Add a better .gitignore so that doc and pkg is not added back any sooner
Add .gitattributes - it helps deal with crlf/lf problem
Make OutW#puts based on StringIO#puts

This make code more consistent.
Make OutW#puts_h2 consistent with OutW#puts
Make OutW#puts_h2 handle args the same way as OutW#puts

This maks both OutW#puts_h2 and OutW#puts to
behave exactly the same way as puts.

So I can use:

puts_h2 [1, 2, 3]
1
2
3
Make OutW#print consistent with OutW#puts
Make OutW#write consistent with OutW#puts
Add OutW#p same way as OutW#puts
Add OutW#printf same way as OutW#puts
Remove TODO text - feature complete
Normalize CRLF/LF on all files