* clean up the emulators a bit. tried to use safemem to fix the bug, but that didn't work as intended.
* ton of cleanup and test cleanup. and also emulator fix
* found the edge case
* Make the dirs on a save just in case
* fix issue with v_zwstr in vstruct parsing and cleanup
* Bunch of little fixups from division fixes for py2/3 stuff, a set of new intel instructions (from decoding all the way up to symboliks), to PE loading
* Docstring updates, more unittests for vstruct, extension fix, memcanvas fix for certain edge cases. Overall: incorporating feedback from @willi and @atlas
* custom log level
* envi config encoding per @willi, getting memoryview hotkeys working again for the same reason mouse was broken
Massive cutover to python3 (baseline is 3.9.1, but is also tested/working on 3.7.x). This merge is a breaking change for any downstream consumers, as the python 2->3 strings/bytes change is central. Most APIs should still work roughly as intended, as I didn't majorly re-organize the codebase, so most APIs live where they lived before. But a changelog/migration guide will be included in the next PR for this.
This PR will constitute most if not all of the v1.0.0 release that is forthcoming soon.
A lot of cleanup things in prep for a python 3 transition. Getting rid of the old exception syntax, converting prints over to logging, cutting random scraps of code to be proper unit tests, cut away some older bits of code, etc.
This still works in python2. It's just a lot of tidying up. There are no major functionality changes.
* no more xrange
* travis ci
* cleanup per review. And a test to prove that pycparser still works as intended.
* msgpack 1.0 compat and pin requirements