Passing env vars for less permissive sudo configs.

Some more gitignores.

Fixing messed up paths in run_tests.sh.
Abstracting some os_specific functions.

Removed unused page_offset.

Fixed a bug in symcache, symbol names should be duped for keys.

Fixing some warnings.

sysmap should go with Linux stuff.

Needed to provide os_interface funtions for get_page_mode to work.

Making linux_addr a warning when encountered.
Making offsets uint64_t.

Most offsets will be small, but the same API is used for some
hardcoded addresses and this will avoid promotion surprises.
Removing poorly used global cr3 value.

This moves the calling of any hueristic method to OS
specific init function, which will make easier to deal
with dependencies on global fields that need to be set
to work.

The cr3 field was used for 2 things:
1. Value for VMI_FILE to return for get cr3, but it never gets set for
CR3.
2. Flag that get_memory_layout() did not work, either because of
errors or because the driver does not support it.  The side effect
was calling functions to set kpgd and cr3 using OS specific methods
as above.
Changing config_parser to just build a hash table.

Clarified name.

Changing vmi->config to be GHashTable.

This will help make initialization more uniform, as all other
forms of providing configuration can just generate a hash table.
Moving offset initialization to OS specific init..