libipt: merge pt_*.h into intel-pt.h

Provide a single header file (intel-pt.h) for libipt. That makes the
library easier to use and aligns it with the library design that is
common on many systems.

While there, order the includes in the touched files correctly (i.e.
from local includes to public includes).

Change-Id: I30c8ade0f43ef77104739b409891b32754da9ec0
Signed-off-by: Christian Himpel <christian.himpel@intel.com>
libipt: change interface for decoding unknown packets

Pass a pt_packet_unknown instead of a pt_packet that should be filled by
the decode function. And instead of passing a pt_decoder, pass its
pt_config, the current position in the buffer and a context.

Also fill default values in the extract_unknown function and extend the
tests.

Change-Id: Id35586c345e1671716d0a3e69ad9f6825ed0e9d8
Signed-off-by: Christian Himpel <christian.himpel@intel.com>
libipt: cleanup api

Instead of exposing a monolithic pt_decoder, provide a layered api.

The api consists of the following sections now:

- Version
- Opcodes
- Errors
- Configuration
- Packet encoder / decoder
- Query decoder
- Instruction flow decoder

TODO:
- update documentation
- cleanup internal implementation

Change-Id: I0d4461775dcec72090935a5172095c9b07d614ef
Signed-off-by: Christian Himpel <christian.himpel@intel.com>
build: add doxygen support

Add a cmake doc target. Generate doxygen documentation for intel-pt.h.
Adapt the intel-pt.h documentation accordingly, i.e. use /** */ for
comments and refer to parameters with \p param.

Change-Id: I24eff0be599440035b704a40f11bda0f5939dbed
Signed-off-by: Christian Himpel <christian.himpel@intel.com>
doc: split README and move pttc/README into own document

Extract "Getting Started" section from README into
doc/getting_started.md and move pttc/README into doc/pttc.md.

The documents were not fully written in markdown. Fix that.

No need to change the doc/Doxyfile.in. All doc/*.md are automatically
formatted with doxygen.

Change-Id: Id3db40ae1a9a38c5a15cdfb4fc301789427e346f
Signed-off-by: Christian Himpel <christian.himpel@intel.com>