Refactored some of the code for kernel.data(*).* probepoints to the stap runtime.
This makes development easier by avoiding updating a lot of code in
the translator all the time.
This also makes the upcoming process.data(*) probepoints easier to
implement.
Additionally, we made it abort when the first hw breakpoint fails
to register instead of going on registering the remaining hw
breakpoints. Added tests to cover this change.