Added estimate_observation_richness.py module.

Also added corresponding test module with the start of an implementation (and tests) of AbstractObservationRichnessEstimator.
Added some utility methods needed by estimators.
Added check for empty biom table.
Added abundance frequency counts calculation.

Also added check for empty samples.
Added chao1 full richness estimate calculation.
Added __call__, which raises NotImplementedError.
Added ObservationRichnessInterpolator class.

Can currently interpolate based on a number of points and the Chao1 full richness estimate. Does not calculate variance yet.
Added equation reference.
Refactored full richness estimate functionality.

Now fits the Strategy design pattern, as we're going to at least add ACE (in addition to Chao1).
Fixed bug when point_count == 1.
Refactored interpolator estimate code.

In preparation for adding variance calculation.
Added variance calculation for interpolator.
Added comments indicating test result verification
Added more tests for Chao1 calculation.
Refactored to have two families of algorithms.

There are now PointEstimators and FullRichnessEstimators, which are used by ObservationRichnessEstimator.
Added multinomial extrapolation.

Still need to implement variance estimation.
Added helper methods for calculating points.

Tests currently fail- need to fix.
Merge branch 'master' into species_richness_estimates
Changed point range to match QIIME's rarefaction.

Now uses start, stop, and step size instead of a point count. Matches interface provided by QIIME's multiple_rarefactions.py.
Added partial impl. of extrapolation variance.

Still not sure how to handle partial derivative portion of equation...