Back-end updates

-Added functionality to most of the backend classes
-Added support for displaying puzzle complete in the UI
-Added puzzle equality test