Create new IReaderImpl imlementation: AsioMTImpl

+ based in AsioImpl
+ as seen from title, impl utilizes separate thread for data processing.
+ most of functionality have been tested, but production usage is not
recommented for a while.
+ perfomance increase hasn't been noticed.
AsioMTImpl fixes for issues that happened during testing.
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