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.
The outside `list(...)` is probably not needed since `sorted(...)` returns a sorted copy of the list, and `reversed(sorted(...))` is totally fine, but you can also do `sorted(..., reverse=True)`: https://docs.python.org/2/library/functions.html#sorted