Direct Guest Memory Access for Shm-snapshot

Introduce non-copy guest memory read for shm-snapshot, which has drastically reduced memory read latency.

I add two APIs in this PR:
  size_t vmi_get_dgpma(vmi_instance_t vmi, addr_t paddr, void **buf_ptr, size_t count);
  size_t vmi_get_dgvma(vmi_instance_t vmi, addr_t vaddr, pid_t pid, void **buf_ptr, size_t count);
Both of which are similar to vmi_read_pa() / vmi_read_va(), except the non-copy manners.

Principle:
Medial address mapping strategy to ensure continous address mappings so that direct access can be possible.

Performance benchmark:
at least 5.6x speedup with minimal one page block in terms of the reduction of guest memory access latency.
Add function to conveniently single-step over a memory event.
Fix which pgd gets translated via kv2p
Add steps variable to step_mem_event to specify the number of steps to take before re-registering the memory event
Merge pull request #115 from kittel/master

Fix for typos in print statement
LibVMI cache : bug fix and unit test

1. fix the bug : key_128_int() misses the high 32bits of the uint64_t low.
As vmi->page_size is a uint32_t type, we can't assume it the same as uint64_t when using the bitwise NOT of it.

2. unit test for LibVMI cache

Thanks to awsaba's help in fixing and unit testing.
Expand the events notes
Merge pull request #112 from mzguanglin/fix-v2p-cache

LibVMI cache : bug fix and unit test
Merge pull request #116 from Zentific/linux_pgd_to_pid_fix

Fix linux_get_taskstruct_addr_from_pgd
Merge pull request #114 from Zentific/step_mem_event

Add function to conveniently single-step over a memory event.
Add get_va_pages function
Add get_va_pages test case
Merge pull request #117 from Zentific/get_va_pages

RFC: Introduce get_va_pages function
Fix byte events issue when an event occurs on the page at an unregistered offset
Minor fix in driver/xen.c
Merge pull request #119 from Zentific/xen_sizeof_fix

Minor fix in driver/xen.c
Restrict use VMI_MEMACCESS_R and VMI_MEMACCESS_RX for Xen
Merge pull request #120 from Zentific/ept_misconfig

Restrict use VMI_MEMACCESS_R and VMI_MEMACCESS_RX for Xen
Add convenience macros to setup the event structs
Merge pull request #113 from mzguanglin/DGMA-rebase

Direct Guest Memory Access for Shm-snapshot