Moving most of IO#readline down a layer to IO#gets

and starting to untag IO#gets specs as a result.
Option flag rework

split out from another pull request in prep for implementing the "-W" flag.
Also setting $PROGRAM_NAME during init
Merge pull request #475 from modcloth/mbh/starting-work-on-IO#gets

Moving most of IO#readline down a layer to IO#gets
Merge pull request #477 from modcloth/mbh/program-name

Also setting $PROGRAM_NAME during init
Changes per feedback
Merge pull request #476 from modcloth/mbh/main-flag-rework

Option flag rework