the engine now checks if the move is valid

This does many things:
1. Pull all the data from Firebase
2. Construct a model of the game in progress
3. Test if the current move is valid

I'm currently working on pushing the move to Firebase