Use cPickle instead of pickle; add additional tests

`cPickle` is the (much) faster version of the `pickle` module.  I've also added some additional tests from the `will/scikit-classifier` branch, in particular for testing that this plays nicely with JSON serialization.

@stephensanchez
Discussed offline: base64 encoding is to prevent the error condition when the binary data contains unicode control chars.