CardReader functionality

Adding functionality and tests for Card Reader.
UploadCardRequest, CardReaderViewRequest, and CardReaderViewAllRequest are probably the big ones to review functionally.
Also tweaked headers to use API key unless the access token is present. Let me know if any part of the functionality is disagreeable- shouldnt be too hard to change
@Skiggz @McManCSU @bvanberg @Xorlev 

@ParisMi It seems like business logic is creeping into the HTTP client. I think the FullContact object should be responsible for sending either an API key header, or access token header, and the client should just do it's thing. Meaning, maybe in the fullcontact object, or request builders, there's a switch that decides what to prepare the request with. I don't think the logic is bad by any means, just thinking there's a better place for it. @Xorlev thoughts?