I had chosen `io.open()` because:

1. Although both `codec.open()` and `io.open()` can handle the *encoding* argument we need to fix the issue, `io.open()` it the only one that can handle the universal lines flag (and in fact seems to apply it automatically). `codecs.open()` always open files in binary mode.
2. It has been proposed the 'codecs' modes should be deprecated (see PEP 400).

But 1. doesn't apply here, we are always saving these migrations files with text lines using the Unix line endings and for the purpose of the test there is no point in converting them to DOS line endings under Windows.

And re: 2. reading the PEP shows it´s in Deferred status so no risk there.

So, yes I can change that to `codecs.open()`. Thanks for the review.