Shadow the definitions we need from *drm.h, to avoid having to include those broken headers.
Bump version to 0.3pre.
Check to see if the "rpm" package is pulling in oracle-java.
Try to see which package is pulling in java.
Revert testing changes.
Install x86 libstd++ on travis.
Try to install the right libstdc++ package.
Try to work around g++ -m32 brokenness.
Another attempt to make g++:i386 work.
Revert previous two commits.
Fix mmaps of shared memory whose length is not a multiple of the page size to round up the length during replay the same way we do while recording.
Add rr's own locally cached view of processes' address spaces.

This commit adds a cached address space structure and updates it per
syscalls that affect memory mappings: mmap/mremap/unmap/et al.  The
patch is straightforward except for the |is_adjacent_mapping()| helper
which decides if two mappings should be merged.  The subtlety in that
helper is that the heuristics were chosen so that the cached map and
the kernel's (/proc/[tid]/maps) maintain a bijection, for simplicity.

Also added is a new "-k/--check-cached-maps" flag, which has rr assert
that its locally cached map matches /proc/[tid]/maps after each
syscall.  This flag is now enabled for all unit tests and should
default on for future DEBUG builds.