VCR.py

This branch refactors all of our online tests to use VCR.py, such that the responses can be recorded, and then played back for unit tests without going online.

This is facilitated by the `use_vcr` decorator added to the tests package. When a test method has this decorator applied, a new cassette will automatically be created for its online interactions. In addition, the 'vcr' nose attribute will be applied, as well as the 'online' attribute if the test method might go online. Whether it goes online is determined by the record mode of VCR, which can be set using the `VCR_RECORD_MODE` environment variable. Modes are documented here: https://github.com/kevin1024/vcrpy#record-modes

Since the nose online flag is set dynamically, all online tests will now run from a playback in jenkins and travis CI jobs, and the daily online job has been changed to run online tests with the vcr record mode set to all, to actually test against the online sites.