* [cosmetic] ara_m: Give a spec reference for the PERM-AR-DO
* runtime: Reset selected_file_fcp[_hex] if SELECT returns no data
* ara_m: Use GlobalPlatform SELECT decoding
* ara_m: Permit encoding of empty AID (--aid '') in ARA-M rules
* [pylint] Fix referencing undefined variable 'shutil'
* [pylint] Declare abstract LinkBase._send_apdu_raw() method as such
* [pylint] Fix float vs integer division in cards.py
* [pylint] Fix reference to undefined variable 'in_hex'
* [pylint] Mark abstract MagicSimBase class as such
* [pylint] Fix calling non-existing iteritems() of dict
* [pylint] Declare some fields in _MagicSimBase class
* [pylint] Mark abstract CardKeyProvider.get() method as such
* [pylint] fix non-existing 'res' in EF_CNL._encode_record_hex()
* setup.py: add missing comma in list of dependencies
* pySim-shell: Use poutput_json() whenever applicable
* extend JSONEncoder to serialze 'bytes' style objects as hex strings
* shell: Add 'apdu_trace' settable parameter for hex-dumping APDUs
* transport: Pass arbitrary kwargs to base-class constructor
* transport: Make all calls go through base class send_apdu_raw()
* Fix various mistakes around the CardADF <-> CardApplication dualism
* filesystem: fix various issues found by mypy
* filesystem: Avoid GPL header showing up in sphinx autodoc
* Use sphinx for generating documentation
* Add more documentation to the classes/methods