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.
Created issue: https://github.com/ros/ros_comm/issues/511