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.
It is fine to leave it as is if the rest of the file is doing it, and it would be good to update everything to use tempfile, but I agree that should go in a different issue.