Added pawn move logic in Game model, and test

I wrote some code in the Game model that tests whether a pawn move is valid, and an accompanying test for it using FactoryGirl. 

The new "self.is_move_allowed? function in Game.rb first calls a helper function, one per piece type (I wrote one for pawns called "legit_moves_for_pawn"), which returns an array of x/y coordinates that a specific piece (in this case a pawn) can move to. (This could also be used to generate a list of highlighted squares indicating possible target destinations for a piece.) The "is_move_allowed?" function then tests whether the new [x, y] destination coordinates that the player has selected are within that returned array of valid coordinates.

Hopefully this is a good template for writing the piece move logic for other pieces. Thoughts?
My thought process was like this:

 > Right now we're explicitly passing through the `piece_id` as arguments to the function.  Since there is a specific item the function relates to, coupling it directly to that makes more sense than having it be a class level method.  But, having said that, it's a small thing and doesn't matter too much.  In the short-term I think the code would be cleaner, and if long term it's no longer the right way, we can move/refactor it.