Improve rrd2whisper's handling of rrd files

Take into account the actual retentions in rrds and make whisper
archives similarly. Also allow selection of non-AVERAGE rrd archive
types
Merge pull request #19 from lambdafu/master

Fix precision error message
Works.

Issues:
1. Always opens read/write, even when read is enough
2. Need to test that whisper-fetch.py's output (all "None" is correct).
Added relatively comprehensive unit test for whisper.
Moved to class setUp and tearDown. Modified temporary file name to db.wsp.
Improved whisper test cases.
Some code style (primarily) updates to the awesome whisper tests
test_whisper.py: silly pylint updates
Enforce file closing

This was necessary for better performance on Windows as Whisper was
able to crash while still holding a lock on .wsp files. This behaviour
did not occur in Linux.
Removed with statement for compatibility with python < 2.6. Using try finally instead.
Try to enable running the tests via travis

Tests of tests you ask? Turtles all the way down
Fix the travis build
I'm an idiot sometimes
Travis, I want to like you
This should do the right thing wrt travis-ci
python 2.6 should use unittest2
test_whisper.py: use unittest2 if it is available
added whisper-diff command
Fixing typo in merge procedure
More fixes for merging - it's working now