Code Rework and Introduction of Two New Algorithms

These few commits incorporate a variety of things.

* Sorts are re-worked into class objects
* The printing mechanism was moved out to a console printer class,
* Printing now highlights the current index as well as the bounding regions of the algorithm ( very useful for quicksort )
* Sorts and printing are tied together through the observer pattern.  I did this in case the project later added a GUI component but could still have nice console debugging at the same time
* Adds quicksort and insertion sort algorithms
* Updates README with a little more information, and includes an example class file in case other people want to contribute as well

I'm quite new to Python, but I really liked the idea of this project.  If there are things you would like changed with the code, please let me know.  I would be more than happy to do my best to address them.