Add `binding/0` and `binding/1` for retrieving bindings
Catch invalid arguments for binding/1
Some IO tests return alternate error codes on windows

Now these tests allow different kinds of error codes. However, I currently
duplicate the is_io_error? method; I would assume there would be an easier
way to do this; maybe just put it in a namespace and reference the
namespace?