ros_bag 508

Reworked bag.py to provide various methods for getting info about the bag as a programmatic object rather than in string or yaml format.
This is the only comment I haven't made a change for. The behaviour here is consistent with the rest of the test file. Note that I am first writing this file and then reading it back in. The file does not need to exist already, but we do need access to write to tmp.

You may be right about using the tempfile module, but if that's the case, could we open a separate issue to refactor this whole file to use it?