Added a `get_io(filename)` function which uses the filename extension to select which IO class to return

This function could stand to be improved. Ideally, each backend would register the file extensions it uses, but this is a starting point.