ivg BAP Platform
This PR introduces BAP as a platform.
A significant amount of code is moved from the Bap.Std library into
separate plugins and libraries, that can be installed separately.
The plugin system is severely reimplemented. Here is the short list of
changes, a detailed list will be added later to the `CHANGES.md`.

- moved Regular library out of bap.
- moved Graphlib from Bap.
- made module's state storable
- moved x86 from the library
- moved ARM from the library
- moved Dwarf and Elf from the library.
- moved byteweight from the library.
- moved traces from the library
- rewrote disassembler level
- add properties to insn
- moved llvm to plugins
- added caching framework
- added printing framework
- redesigned build system
- reimplemented plugin framework
- Current set of plugins:
  * emit-ida-script  extract a python script from the project data type
  * dump-symbols     dump symbol information as a list of blocks
  * arm              provide ARM lifter
  * piqi-printers    provides piqi serialization for main data types (BIL, IR)
  * phoenix          output project information in a phoenix format
  * print            print project in various formats
  * cache            provide caching services
  * byteweight       find function starts using Byteweight algorithm
  * x86              provide x86 lifter
  * llvm             provide loader and disassembler
  * ida              use ida to provide rooter, symbolizer and reconstructor
  * read-symbols     read symbol information from file
  * elf-loader       read ELF and DWARF formats in a pure OCaml

Note: this PR doesn't update the documentation, it will be pushed
Latest commit 93ee72c Feb 29, 2016
Failed to load latest commit information.
bapbundle.1 BAP Platform Feb 29, 2016