Create a RunnerIdentity class

To mimic the existing CorpIdentity class. Right now they
are actually the same thing, and could be refactored back
into the regular Identity class.  Do we want to keep them
separate in case we need to differentiate in the future, or
should we just split them up at that time if needed?
Initial base deck validation

Right now only checking the following things

* deck size
* influence spent
* agenda points (for corp decks)
Add validation and test for more than 3 copies of a card
Make card type a static keyword from card_info
Add deck validation for out of faction agends
Add SIDE to cards missing them
Add validation for side-specific cards

Corp decks only have corp cards, runner decks
only have runner cards
Run validation on deck upload