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 

More generally, are assigning a User-Agent to the client? As an inspector of the nginx logs, I would like to see specifically when our fancy new client is in use.