Added search functions.

MarkovChain._search_by_sequence is the real work horse and MarkovChain.search is just a wrapper in case the internals change. I'm not super proud of the duplication of code in _search_by_sequence.