Minor fix
Card::scan reworked

+function returns NO_CARD when underlying functions gave ordinary errors
and properly bubbles up communication errors
Error codes reworked
FileImpl save and load refactored into CardStorage
Added previously missing card_storage module
AsioMTImpl fixes:

+ timeout changes to 2000ms
+ fixed possible undefined behaviour with promise/future handling
+ fixed naming issue with |len| variable in AsioMTImpl::transceive