[pmc] introduced submodule pmc

o introduced proposal functions
o introduced importance sampler
[pmc] corrected method evaluate in class MixtureProposal

o evaluate should return log(q(x)), not q(x)
[pmc/importance_sampling] split method run into two separate methods
[_tools/chain] bugfix

o corrected initialization of self._points in case prealloc=0
[pmc/proposal] bugfix in MixtureProposal

o evaluate(x) raised an error if x was such that q(x)=0 (because evaluate
  returns log(q(x)) and log(0) is not defined)
o fix: explicitly ask if q(x)=0 and in that case return -inf
[pmc] added pmc-algorithm

o added references [Cap+08], [Cor+12]
o implemented calculation of sample weights according to [Cor+12]
o implemented pmc-updates according to [Cap+08]
[pmc/importance_sampling] added two more tests

o test_indicator
o sample a bimodal Gaussian mixture using a bimodal Student-t proposal
[_tools] added _probability_density.py

o placed functions to evaluate the gaussian pdf in separate file
o remoes dublicates of unnormalized_log_pdf_gauss from:
  - markov_chain_test
  - importance_sampling_test
  - pmc_test
clean up

o references.rst: links to dx.doi.org are now shown as "DOI:..."
o ImportanceSampler: docstring corrected
o GaussianPMC: corrected citation ([Cap+12]-->[Cap+08])
[pmc] moved implementation of [Cor+12] to separate class

o introduced class DeterministicIS
o next step: rewrite pmc.py
[pmc/proposal] bugfix in class MixtureProposal

o wrong distribution of samples to member-components
[pmc] implemented support for tracing samples

o MixtureProposals can now return an array which contains the number
  of the responsible component for each sample
o ImportanceSamplers can now return that array along with the run method
[markov_chain/proposal] robustification

o added check if covariance matrix is symmetric
o renamed some variables in proposal_test.py
[pmc/pmc.py] restructured the pmc implementation

o turned class GaussianPMC into funnction gaussian_pmc
o added support for non Rao Blackwellized pmc
o samples to be used for pmc are explicitly passed
restructured usage of _Hist

o made submodule _tools partially public
o removed class _Chain
o renamed class _Hist -> History
o removed accept_count from classes _Hist/History
o History/_Hist now supports being empty
o classes MarkovChain, ImportanceSampler: renamed self.hist -> self.history
o class MarkovChain accept_count is returned by method run() but not saved
o class DeterministicIS: renamed .proposal_hist -> .proposal_history
o class AdaptiveMarkovChain saves self._last_accept_count
[pmc/gaussian_pmc] improved performance

o added option `mincount` (prune components with less samples
  than `mincount`)
o added option `rb` (Rao-Blackwell on/off)
o renamed argument `samples` -> `weighted_samples`
[pmc] added example
[cluster] added "test_bimodal_prune" -> fails in this revision
added developer scripts

o coverage: run all nosetests, then open firefox with coverage report
o show_doc: make html documentation and open it
o test_all: run all nosetests in parrallel
o tidyup:   delete temporary files in the working directory
o todos:    list all todo statements
developer scripts test_all, run_examples, tidyup

o test_all:     wait until returning to bash prompt
o run_examples: execute all examples with python 2 and 3
o tidyup:       removing backup files was buggy