Support for reducible Markov chains

This commit makes a number of changes including adding support for
calculating stationary distributions on reducible Markov chains inline
with https://github.com/QuantEcon/QuantEcon.py/pull/79

*Use Graphs.jl to determine the irreducible subsets of a reducible
Markov Chain
*Changed DMarkov to MarkovChain in line with mc_tools.py
*Move to Distributions.jl for sampling
*Removed support for ``Matrix`` types: this is not really necessary,
but I think we should either pick matrices or MarkovChain types rather
than maintaining support for both.