redone io configuration, better avlitree naming

Completely revamped the I/O configuration file to be better suited for both
iterative parsing and lookup-based reading. I/O configuration files also allow
for multiple values for each option, stored as an array. Renamed the AVL index
tree iterators to match the standard begin/next naming scheme.