Refactor Identity class

Refactor CorpIdentity into the base Identity class.

Make placeholders for customizing CorpIdentity and
RunnerIdentity classes later 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
Fix whitespace