Fix incorrect encoding of the pid/ppid.

Switches the encoding to the proto-defined uint32 type. As noted in the
commit comments, for correctness, this should be switched to int64 when
it's possible to deploy a breaking change to the protobuf serialization.

This commit also adds missing tests for the ProcessInfo fields (including
the pid fields), and enables AppInfo validation tests.

Issue: 66
Unify on a single mach_make_memory_entry_64()/vm_map-based memory mapping implementation.

This replaces the previous vm_remap()-based implementation that was used
on Mac OS X.

Since the new mach_make_memory_entry_64()/vm_map implementation remains
functionally identical to the previous vm_remap()-based implementation,
there is no need to maintain two per-platform code paths.

Conflicts:
	Source/PLCrashAsyncMObject.c
Implement a work-around for mach_make_memory_entry_64() returning short entries.

The mach_make_memory_entry_64() API may not actually return an entry for the full
requested length; this requires that we loop through the full range, requesting
an entry for the remaining unallocated pages.

Conflicts:
	Source/PLCrashAsyncMObject.c
Include a incident UUID in crash reports.

Issue: 64
Submitted by:  Craig Newell <craign [at] ieee.org>
Encode the incident identifier directly as a UUID value.
Clean up spurious changes from previous commit.
Remove userRequested additions.

These are unrelated to the incident identifier changes, and
we'll be exposing the report type (of which a 'live' report
is only one type) using a different model, as defined in the
crash_report_v2 ReportType enum.
Fix leak of memory entry.
Fix type mismatch.
Merge pull request #1 from josephlord/upstreamMaster

Pulling latest changes in from source project.