Fix gdb_wrapper to work with C++ functions.

Fix two issues associated with spliting instructions that are within
functions whose signatures contain comma and colon characters (e.g.
templates).
Cache two gdb lookups that can be slow for large programs.
- Add support for ARM and QNX
- Add support for parsing an ASAN log into a Classification
- Add -m option for machine parsable output (as with !exploitable)
- Cleanup of regexes, argument parsing, pylint warnings
Merge pull request #2 from allanlw/master

Fix two issues with the gdb wrapper.
first pass at integrating ARM/QNX/ASAN changes
added a TODO reminder
first set of changes en route to cleaning up ARM/ASAN/QNX code; first goal is to pass legacy unit tests: not there yet.
finished rough pass at organizing out ARM, QNX, and ASAN logic; code is ugly and broken, but I need to push for data redundancy
made many changes to support isolating multi-platform code. basic x86 instruction/operand unit tests pass, but doesn't work against test apps.
passing all existing binary tests on x86/lubuntu. still mountains of TODOs to clean up
organized analyzer logic into per-platform files
added unit test (and allanlw's fix) for c++ template class instruction
forgot to commit arch.py; fixed
added traceback to rule failure warning
added many bugfixes along the way in smoke testing ARM features on QEMU test image using Fennec GDB (jimdb)
added many bugfixes along the way in smoke testing ARM features on QEMU test image using Fennec GDB (jimdb)
Merge branch 'integration' of https://github.com/jfoote/exploitable into integration
fixed iter bug; we now classify ReturnAv test! (perhaps with some extra, incorrect tags : )
adding travis spec
first try at updating travis.yml