Fix I/O-protocol error handling in eunit

Some io_requests, getopts, {get_geometry, rows} and {get_geometry, columns}
in eunit raises unexpected error.

For example,

```erlang
-module(my_test).
-include_lib("eunit/include/eunit.hrl").

my_test() ->
  io:getopts().
```

```erlang
1> c(my_test).
{ok,my_test}
2> eunit:test(my_test).
my_test: my_test (module 'my_test')...*skipped*
undefined
*unexpected termination of test process*
::{{badmatch,{error,{error,enotsup},[]}},
   [{eunit_proc,io_request,4,[{file,"eunit_proc.erl"},{line,614}]},
    {eunit_proc,group_leader_loop,3,[{file,"eunit_proc.erl"},{line,584}]}]}

=======================================================
  Failed: 0.  Skipped: 0.  Passed: 0.
One or more tests were cancelled.
error

=ERROR REPORT==== 21-Sep-2013::19:49:27 ===
Error in process <0.49.0> with exit value: {{badmatch,{error,{error,enotsup},[]}},[{eunit_proc,io_request,4,[{file,"eunit_proc.erl"},{line,614}]},{eunit_proc,group_leader_loop,3,[{file,"eunit_proc.erl"},{line,584}]}]}
```