- implemented SudokuCollections class for batch solving sudokus
- added 2 collections (one from project euler and 95 hard problems which
  were linked from Peter Norvig's article on solving Sudokus)
- updated the testing suite to reflect these changes (now we can use it
  for benchmarking)
- benchmark file added
- Some performance tweaks
- Added decorators.py with a single decorator (for memoization) which is not yet used.
- Updated TODO list -- main task: refactor internal representation of
  puzzles (should be a dict) -> memoization, don't have to reinitialize
  everything when searching)