New structure

Added in a new way to do the strategies. Made them in their own file and load them dynamically. Each new strategy needs to be:
in the strategy folder,
named with ending of Player.py, and
file name and class name need to be the exact same (excluding the .py).

There are now different sections for difficulties. 

The newest strategy is MaterialPlayer.

Various error handling commits as well.