Add partial_fit to GaussianNB

Uses a [method due to Chan, Golub, and LeVeque](http://i.stanford.edu/pub/cstr/reports/cs/tr/79/773/CS-TR-79-773.pdf) to perform online update of the model parameters in `GaussianNB`. Does not implement sample weighting.

Added tests to `test_naive_bayes` to ensure that `partial_fit` called on the entire toy set produces the same result as `fit`, and that it produces the same result even if the toy set is fitted in two parts.

TODO: `fit` could be a thin wrapper around `partial_fit` rather than duplicating code.
Yeah, `np.sum` is a recursive algorithm with O(lg n) roundoff error since 1.8 (I think). Don't worry about that.