util: added bipoilog_mle; has problems

overflow when using large N values
limits: in progress
util: found a sensible upper limit
util: bounds, taylor work
util: singleton methods fixed; tests added
util: bipoilog taylor expansions, no tests
util: used max when computing bounds; tests

Now the bound-finder looks for when the cranky term falls to some
fraction of its maximum value rather than to just some value. This fixes
the problem with bound-finding when the maximum value was already below
that lower limit.
Merge branch 'master' into normal_approx

Conflicts:
	util.py
util: many improvements to bound

one singleton poilog test failed; a few bipoilog.

need to incorporate normal term to get sensible limits for one of the
tests.
util: fixed bound-finding

Used a combination of the exp() and entire integrand to find a sensible
upper limit for the fold-change in the integrand
util: changed some more bounds checking

i'm not sure about when the taylor expansion should be used. maybe it's
something about when the bounds would be super-crazy?
util: added max-finding for bounds

bound-finding algorithm now does a numerical search for the max of the
integrand function. this avoided the problem with using the integrand
without the normal term as an approximation, which failed for small
sigma.
util: stirling approx for bipoilog
util: added stirling approx to bipoilog unitaylor
util: bipoilog mle uses logspace for sig values