Updated gitignore to ignore executable files
Adds IO functions and test cases for them.