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 

Supporting dynamic headers seems to be the reason for losing the generic Client type - are we sure we want to provide this flexibility? Can we just enforce all API Key in the headers - period? That way all requests have 'auth' headers