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.
Please change the docblock to follow the style in this file. Use the same way of formatting, mention all arguments and return values as well as document the types of each. (This applies to all docblocks in your patch.).