Update cpuid test to use .S file and to check rbc counts directly.

This makes the test more robust. We know that in the no-syscall-buffer case,
exactly two rbcs should be counted per iteration. Using assembly makes the
parts of the test that depend on the exact generated code impervious to
compiler options and other changes.
Compile librrpreload with -O2

This just works now, probably thanks to froydnj for converting inline asm to .S.

Resolves #796.
Move tracking of user-managed checkpoints into replayer.cc.
Handle EPERM response to SIOCETHTOOL and SIOCGIWRATE ioctls.
Move the pull request checklist to the canonical github file for it

Having the instructions in this file will make the github pull
request UI show a notice when users submit their PR:

https://github.com/blog/1184-contributing-guidelines
In recvmsg, ensure msg_controllen field is updated to the value set by the kernel in scratch-space.
Rename suppress_performance_warnings flag to suppress_warnings.
Every time we record or replay, try to detect the presence of the "CPUID causes rbc undercount" bug.
Automatically apply rcb slack when we detect the "CPUDID rcb undercount bug".

Resolves #1182.
Ensure that internal breakpoints are removed if and only if we set one.

Also fixes assertion so that we die immediately if a breakpoint's refcounts
go negative.

We were removing an internal breakpoint when we hadn't necessarily set one,
so if there was already a user breakpoint at that location we'd set its
internal-breakpoint refcount to -1. We were also failing to remove the
breakpoint in some cases so gdb would see an int3 instruction there.
delete dead defines from types.h

None of these #defines are actually used.  CHECK_ALIGNMENT, PTR_SIZE,
and INT_SIZE could be actively harmful to a proper 32/64-bit-aware
codebase.
declare assembly-only symbols with hidden visibility

In a future world where librrpreload is compiled with -fPIC, we don't
want to be calling these functions through PLT stubs (and then possibly
invoking the dynamic linker).  Make them hidden instead, which is
marginally more efficient even with position-dependent code.
Add support for blocking sendmmsg/recvmmsg (direct mode)
Fix spelling mistake.
make default_action return an enum, rather than an int

More descriptive types are always good.  Giving the enums names also
helps ensure they don't get used in unexpected places.
Bump version to 1.4.0.