fixed rseed parameter passing from fmin to algo.suggest, seed/rseed parameter added anneal code
Cut BanditAlgo, Experiment; change RNG handling

This huge commit changes a number of things:

* Removes Bandit.rng:
    Semantically, a Bandit/Domain represents a search space.  If the eval_fn
    has a stochastic element to it (some test functions do), then that should
    be in the eval_fn, not the Bandit. The Bandit.rng attribute was being used
    by random search, which forced random search to affect the search space.
    @willgroves bug report about inconsistent handling of seeds and random
    number generators was the issue that actually kicked off this long-overdue
    piece of work.

* Removes BanditAlgo class entirely:
    The newer approach of "rand.suggest" and "tpe.suggest" has proven to be
    a much cleaner and effective approach, BanditAlgo is just in the way now,
    and since the tests were written originally to use BanditAlgo, it
    introduced a number of differences between what was tested and how user
    code is usually written.

* Removes Experiment class entirely:
    The newer approach of using "fmin" has proven to be much cleaner and
    clearer than using the older Experiment class. Experiment was never widely
    used I think, and hasn't been in the documentation for a year or more.

* Removes the mongo-search CLI:
    There used to be a command-line program hyperopt-mongo-search but it has
    been gone for a while. I removed the support code for that script from
    mongoexp.py, and removed the tests of that support code.

* Saner requirements on dictionaries returned by eval_fn:
    Domain.evaluate now requires a status key from all returned dictionaries,
    it no longer defaults to 'ok'.  The loss is only checked if status ==
    'ok'.  That's the behaviour that was documented, and it seems more
    reasonable then it what it used to be doing.

* Misc more minor improvements:
    * Several files are flake8-compliant
    * unused imports removed
    * better docstrings in a few places
    * Domain has moved from fmin to base
s/"ok"/STATUS_OK
init fmin rstate with RandomState()
commenting debugs, cutting old comment
split algobase.py out from anneal.py
docstring for SuggestAlgo
removing unused suggest_many_... decorator
removed unused import
enhanced docstring for ExprEvaluator
future todo re: py3k
added set_in_memo docstring
doc: ExprEvaluator.on_switch
doc: ExprEvaluator.on_node
severed Bandit from all but Domain
merged base.Bandit into base.Domain
moving bandits.py to tests subdir
allow HYPEROPT_FMIN_SEED to provide fmin default
renamed bandits -> domains
removed domains.py entirely