Improving io - revisiting controller attributes

This PR...

- based on the discussion of PR #392
- introduces controller attributes: output_manager, and output_handler,
 - output_manager, refers the method collection, which includes grid_manager, i.e. pyclaw, petclaw, _something_ claw,..
 - output_handler the method used to write/read. Due to the io structure in pyclaw, this attribute coincides with output_file_format. For petclaw, the handler is petsc.

This PR has the following benefits:
  - Ability to accommodate for future file_formats and io_handlers
  - Ability to use grid_manangers other than pyclaw or petclaw