Modify MarkovChain to be able to use different storage backends
Convert MarkovChain into a package
Add open() and flush() methods for MarkovGraphs
Properly use the abstraction layer making things awesome
Move the order into the Graph
Make SQL backend available in Aßmann.py (learn-words only)
Only catch the correct AttributeError
Make producer url-compatible
Optimize SQLGraph for a much better performance
Better error message
Merge branch 'multi-backend' into sql-backend
Reformat docstring
Keep newlines