Refactor io.ascii include_names and exclude_names

Currently the logic for `include_names` and `exclude_names` happens deep in the Reader and that makes the code complex because it needs to deal with this in different setups (e.g. fixed columns), see e.g. #1348.

Instead, I suggest to apply `include_columns` and `excude_columns` in `ascii.read` and `ascii.write` using the `table.remove_columns`. That's simple, easy to understand in the code and thus easy to maintain.