adding batch summarizing for training

When performing Baum-Welch training, instead of passing all observations from all sequences in at a time, instead there is the option to send one sequence at a time and save a summary statistic, and compile the summary statistics into an update at the end. Currently in progress, as Uniform, Normal, LogNormal, Exponential, Discrete distributions have been updated but not the others.
updated discretedistribution training
training fixes

1) DiscreteDistribution error fixed, where the weights were stored as arrays of the string '1' instead of the float if no weights were provided

2) Default `summarize` and `from_summaries` added, which defaults to storing all the values and passing it into `from_sample`.
summary statistics, inertia, nosetests

v1.0.1a, 8/26/2014 --
(1) Distribution inertia added for all distributions. This means that
parameters for the distributions are updated to be
inertia*prior_parameters + (1-inertia)*new_parameters. This can be
triggered using `distribution_inertia` in the
`Model.train` method.

(2) Summary statistics implemented for Baum-Welch training. This
involves summarizing one sequence at a time and storing
the appropriate summary statistics to the distribution object using
`Distribution.summarize( items, weights )`, and then
updating the parameters using these summary statistics and an
appropriate inertia with `Distribution.from_summarize(
inertia=0.0 )`. This makes training on large numbers of sequences always
faster, but training on small numbers of long
sequences take slightly longer.

(3) Nosetests significantly expanded to include more tests. This
includes a new file `test_training.py`, which has a
large number of tests on the Viterbi and Baum-Welch training algorithms,
with different parameters. This also includes
expanded testing of each distribution, and each of the training
functions for that sample.
Merge pull request #34 from jmschrei/summary-statistics

Summary statistics