Bernoulli Naive Bayes: first draft

This is the first draft of the bernoulli naive bayes implementation. It
is missing the Fit function tests and the Predict function.
Merge branch 'master' into feature/naive
Refactoring for base.Instances

Refactored the algorithm to use base.Instances. Rewrote the Fit method
to pre-calculate priors and conditional probabilities.
Finished Fit test for simple cases

Added the logCondProb tests for a simple test case with two classes.
Added Predict function

Added predict function along with its test. Current interface is the
same of the KNN example. In other words, only the class string is
returned from the PredictOne function.
Merge branch 'master' into feature/naive
Removed class prior pre-calculation

Since the number of instances in each class are stored, there is no need
to keep the pre-calculated priors.
Trying to fix Travis
Uses the system version of liblinear

Conflicts:
	linear_models/liblinear.go
Merge pull request #46 from Sentimentron/build-fix

Trying to fix the Travis build
Omit unused second value from range statements.
if block ends with a return statement -> drop this else and outdent its block
Should replace "val += 1" with "val++"
Comments should be of the form "<Struct> ..." or "<MethodName> ..."
receiver name Inst should be consistent with previous receiver name inst for Instances
receiver name b should be consistent with previous receiver name c for ChiMergeFilter
receiver name should be a reflection of its identity; dont use generic names such as "me", "this", or "self"
base/instances.go:145:21: error strings should not end with punctuation
error strings should not be capitalized
Passing parameters to Error() as if it was Errorf()