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.