lz4 for rosbag

I'd really like rosbag to have a fast compression option.  The use case is for larger bag files that take forever to process when you use bz2; while bz2 is great for long term storage, it can be unreasonably slow when you want to repeatedly process a bag.  lz4 (https://code.google.com/p/lz4/) seems like a pretty good option for this use case, so I made a prototype in roscpp.  The results are encouraging, though my implementation isn't complete so the changes shouldn't be merged just yet.


To measure performance, I used this [big bagfile](http://infinity.csail.mit.edu/data/2011/2011-01-18-06-37-58.bag).  Info about it is [here](http://infinity.csail.mit.edu/data/2011/utilities/2011-01-18-06-37-58/2011-01-18-06-37-58.bag.info).  See http://projects.csail.mit.edu/stata/downloads.php for details.

My machine: i7 sandy bridge, 16GB DDR3 RAM, intel SSD, compiled everything scratch using Release build type.

Create compressed bag file

| Type               | Real (sec) | User (sec) | Size (%) |
| -------------------- |  --------: | ---------: |   -----: |
| bz2 (python)         |     2986.8 |     2954.2 |    17.16 |
| bz2 (C++)            |     3050.0 |     3009.4 |    17.16 |
| lz4 (C++)            |       51.2 |       21.6 |    25.83 |

Create decompressed bag file from compressed one

| Type               | Real (sec) | User (sec) |
| -------------------- |  --------: |    ------: |
| bz2 (python)         |      333.1 |      303.0 |
| bz2 (C++)            |      351.9 |      307.3 |
| lz4 (C++)            |       88.8 |        7.5 |

Real / user are from time command.  bz2 (python) is current "rosbag compress" where as bz2 (c++) is the new executable I added.  These results are pretty consistent with what the lz4 page has.

A couple of notes:

1. As far as I can tell, lz4 isn't available as a system dependency, so I hackishly added the files to rosbag_storage.
2. I added C++ executables for compress/decompress so I wouldn't have to add things in python, but given the difference between c++/python for bz2, it looks like compress/decompress for lz4 should also be done in python.
3. I used the [lz4 streaming format](https://docs.google.com/document/d/1gZbUoLw5hRzJ5Q71oPRN6TO4cRMTZur60qip-TE7BhQ) to encode multiple chunks, although no checksums are currently present.
4. I forked form 1.9.54

If there's a chance this can eventually get merged, I'll finish the implementation, add support for python and update the rosbag command.

Thoughts?